LOADING······

加载过慢请开启缓存 浏览器默认开启 绝对不是网站的问题[确信]

压缩包部署mysql

压缩包部署MySQL:从基础到实践

引言

关于安装包

在学习数据库的时候,需要安装mysql,但是mysql的安装包对于新手来说可能不是很友好,会有很多风险,包括但不限于

  1. 安装失败 还是比较常见的,不知道哪一个环节出现错误导致安装失败
  2. 文件残留 安装失败后会有文件残留 不仅对于强迫症来说很头疼 也会影响下次的安装
  3. 注册表残留 就算没能安装成功 注册表也会有残留 这也是再次尝试失败的原因

因此我把目光瞄到了官网提供的压缩包上 就我使用到现在来说 压缩包部署的MySQL与安装包部署的并无区别 但是对文件有较强掌控欲的我来说 无疑是避免麻烦的最优解 虽然我花了两天才把mysql装到我的电脑上

准备

  1. MySQL 压缩包形式 MySQL :: 下载MySQL社区服务器(存档版本)我自己在用的版本是8.0.36

  2. 以防万一 这里是windows系统的安装教程

  3. 解压压缩包至任意文件夹里 路径最好是全英文的

  4. 配置环境:设置=>系统=>系统信息=>高级系统设置=>环境变量=>系统变量=>新建

​ 变量名 MYSQL_HOME

​ 变量值 压缩包所在的文件路径D:\mysql-8.0.36-winx64

​ 在path中新建然后输入%MYSQL_HOME%\bin

tip

为什么要配置环境变量? 在cmd中输入一个可执行程序的名字 Windows会先在环境变量中的Path所指的路径中寻找一遍 如果找到了就直接执行 没找到就在当前工作目录找 如果还没找到 就会报错 我们添加环境变量的目的就是能够在任意一个cmd中直接调用MySQL中的相关程序而不用总是修改工作目录 大大简化了操作 java 配置环境变量也是同理

至此准备工作完毕

配置MySQL

  1. 在mysql的根目录上新建my.ini 文件 右键笔记本打开写入
port = 3306
 
[mysqld]
#设置3306端口 按理说只要不冲突可以改一个自己喜欢的端口号
port = 3306
# 设置mysql的安装目录 tips:这里的目录是你自己的安装目录
basedir=D:\你自己的目录\mysql-8.0.36-winx64
# 设置mysql数据库的数据的存放目录 tips:同上一条
datadir=D:\你自己的目录\mysql-8.0.36-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#这个需要注意一下,不然报错
#其原因是从 5.6开始,timestamp 的默认行为已经是 deprecated 了。
explicit_defaults_for_timestamp=true
 
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

这一步比较重要好好检查有没有配置错误 特别是路径

  1. win+r cmd 用管理员打开控制台 用cd指令切换到mysql的根目录
  • 执行mysqld --install 命令 [后面可以跟自定义名字 默认为mysql] 安装mysqld服务

  • 初始化 MySQL 数据目录 mysqld --initialize --user=mysql --console 此时会初始化数据库系统表 mysql目录会生成data文件夹 如果报错或没有生成请检查my.ini配置文件

  • 最后root@localhost 后面是临时密码

  • 执行命令 net start mysql [服务名] 启动服务 (停止服务net stop mysql [服务名]) 在任务管理器里打开也行

  • 执行 mysql -uroot -p 回车后输入临时密码 注意不能复制 注意大小写

  • 如果看到 welcome to the mysql 与 server version + 版本号 就表明成功了

  • 更改密码ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

操作图

至此在没报错的前提下 mysql就已经部署完成了

测试与验证

到了这一步终于可以来好好的把玩一下这个数据库了 这里提供一些代码供大家操作mysql

​ 首先还是建议大家用图形化操纵工具Navicat来使用数据库 控制台也可以临时凑和

-- 开启mysql服务 任务管理器打开也行
net start mysql  [服务名]
-- 登入数据库
mysql -uroot -p 输入密码  [密码在命令里输在回车后输都行]
-- 创建数据库
create DATABASE mydb1;
-- 如果有该数据库 则跳过没有则创建
create database if not exists mydb1;
-- 选择使用哪一个数据库
use mydb1;
-- 创建表
-- 选择mydb1
-- 创建表格式
use mydb1;
create table 表名(name VARCHAR(50) NOT NULL);
-- 插入数据
insert into 表名 (name) values(名字);
-- 查询数据库
select * from 表名 查询数据
-- 删除数据库
drop database students;
-- 如果有该数据库则删除没有则跳过
drop database if exists mydb1;
-- 查看表结构
desc 表名;

以下是我自用的cmd脚本用于方便使用数据库的 前提是启动类型是手动 自动的话随意

启动服务 net start mysql   [服务名] 需要管理员权限
关闭服务 net stop mysql    [服务名] 需要管理员权限
登入数据库 mysql -uroot -p + 密码

如果上述命令出错请检查代码有没有写错 或者找其他的命令来试一试

至此 在出现理想效果的情况下 你的数据库已经完美部署与使用了

卸载MySQL

如果出现使用时版本过高[过低]想要降级[升级] 想要卸载 MySQL 本站自然提供一条龙服务

  • 此时压缩包部署MySQL的好处就会浮现出来 比如没有注册表残留 压根不会有残留文件
  1. 停止mysql服务 使用 net stop mysql[服务名] 命令停止服务或者用任务管理器停止
  2. mysqld -remove [服务名]卸载mysql服务
  3. 删除环境变量与mysql文件

至此mysql已经彻底从你的电脑里移除了

常见问题与解决方案

  1. 在控制台输入命令时报错:有些命令需要管理员权限 例如打开关闭mysql服务 检查代码有没有输错 例如mysqld这样的命令
  2. 输入临时密码时报错:这个问题有点玄学 注意大小写以及特殊符号 多试几次 实在输不对可以卸载当前服务重新创建一个新的 临时密码会刷新
  3. cmd输入mysql显示不是内部或外部命令:环境变量的问题
  4. cmd输入mysql显示error:如果出现error的话检查有没有开启服务,然后要用mysql -uroot -p命令登入mysql
  5. data文件没有生成:检查my.ini里的路径有没有正确配置 代码里出现的汉字都是让你自行填入的
  6. 如果mysql服务打不开或者打开一会自动停止 那么看一下是不是先初始化mysql服务再启用的服务

后记

写这篇博客的原因主要是我后面需要帮别人装mysql时 找不到一个详细攻略 干脆自己写了一个其实是怕自己之后忘了怎么装 特地写的

                                              ——云散·飞花