以5.7升级到8.4为例,详细介绍Mysql数据库的升级迁移过程
随着项目的升级迭代在日常的项目开发中,很多情况需要升级MySQL的数据库版本,随之而来的一些列问题。还是一样,我走过的坑,不需要大家再走一遍
资源准备
MySQL下载官方: https://www.mysql.com/
在Downloads目录下选择对应版本的 MySQL Community Server。
一、Windows 环境下升级
介绍在windows 环境下升级mysql
1.卸载老版本数据库
1.1 备份数据
使用 Navicat
使用 mysqldump 命令
单个数据库:
mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件名].sql
所有数据库:
mysqldump -u [用户名] -p[密码] --all-databases > all_databases.sql
1.2 卸载软件
关闭服务
在windows 服务列表中关闭mysql服务
卸载服务
管理员身份运行cmd
sc delete mysql
卸载软件
删除mysql安装及文件目录
同样删除 C:\ProgramData\MySQL 下的内容
删除注册表信息
win+R打开命令框,输入regedit打开注册表
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL 删除这个目录下的MYSQL文件夹
检查系统环境变量里的path变量
✿✿ヽ(°▽°)ノ✿ 到此,mysql 的旧版本已被彻底删除
2.安装新版本数据库
2.1 安装解压
将文章开头下载好的zip文件拷贝到自己要安装的目录并解压
在mysql文件目录下新建一个my.ini
拷贝以下内容
[mysqld] port=3306 log-bin=mysql-bin server_id=10 # 设置mysql的安装目录 basedir=D:\Program\mysql\mysql-8.4.0 # 设置mysql数据库的数据的存放目录 datadir=D:\Program\mysql\mysql-8.4.0\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=50 # 服务端使用的字符集默认为UTF8 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8mb4
将bin目录加入系统环境变量path
管理员身份运行一下初始化命令
mysqld --initialize --console
获得初始化的密码
mysqld --install mysql
服务列表里观察一下mysql 服务是否已经启动
- 登录及修改 root 密码
mysql -uroot -p
登录后修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; FLUSH PRIVILEGES;
2.2 数据恢复
连接到navicat导入备份的数据库信息
总结
本文简单介绍了mysql数据库的升级方法,网上的很多试过都有报错,跟着我的一步一步来,不会踩坑。