MySQL 5.X升级到8.X
1.备份数据
打开SQLyog,备份数据库为sql文件,以防升级过程中造成数据丢失。

2.卸载MySQL 5.X
2.1 停止服务
按win键输入cmd,右键选择以管理员身份打开,输入 net stop mysql 停止服务。
2.2 删除文件
找到MySQL的安装路径,删除文件夹;再找到C盘的隐藏文件夹:programDate,找到里面的MySQL文件夹删除。
2.3 删除注册表残留
win+R 输入 regedit 打开注册表,在注册表中找到MySQL目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL目录
再删除 以下文件夹(下面的文件夹有的人有,有的人没有,有就删除)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl001\Services\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl002\Services\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL
2.4 删除mysql服务
cmd中输入 sc delete mysql
至此,MySQL 5.X卸载完成。
3.安装MySQL 8.X
3.1 下载
MySQL下载链接:MySQL下载,选择合适版本下载,然后解压到本地。
3.2 配置环境



添加本地MySQL文件夹下的bin文件夹到path变量。

打开本地mysql文件夹,新建 mysql.ini 配置文件。MySQL 5.7 以上版本默认没有data属性文件,不要手动创建。
mysql.ini为配置文件
data文件夹用于存放数据库数据
注意配置文件mysql.ini需要修改两个部分 1数据库安装目录2数据库的数据的存放目录需要修改为自己的路径
[mysql]
设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
设置3306端口
port = 3306
设置mysql的安装目录 *** 需要修改
basedir=D:\software\mysql-8.0.26-winx64
设置mysql数据库的数据的存放目录 *** 需要修改
datadir=D:\software\mysql-8.0.26-winx64\data
允许最大连接数
max_connections=200
服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3.3 安装MySQL
配置完成后,管理员身份打开cmd,执行 mysqld --initialize-insecure
执行完成后没有任何输出信息,查看MySQL文件夹会发现多出了data文件夹。
紧接着执行 mysqld install 命令。

3.4 启动服务
还是cmd,输入 net start mysql

4.安装后的一些配置
初次安装之后,需要修改密码,cmd输入 mysql -u root -p,之后要求输入密码,初次登陆没有密码,直接按回车。

之后修改密码,依然是cmd,执行 mysqladmin -u root -p password,按回车跳过输入密码阶段,之后输入两次新密码,按回车,密码修改完成。

注意事项
当我们使用可视化工具去连接MySQL 8.X的时候,可能会报错,这里使用SQLyog连接时,报了1251的错误码,这是由于MySQL不同版本之间不同的加密规则造成的,我们只需要更改即可。
错误详情:
1251 client does not support authentication protocol requested by server;consider upgrading Mysql client
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
解决办法:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;  ##修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; ##更新一下用户的密码 password 为自己想要重新设置的密码
FLUSH PRIVILEGES; ##刷新权限

本篇博客参考以下文章 手把手系列——MySQL5.x版本升级到MySQL8.x


 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号