mysql5.6 升级到5.7 实战
第一个历程:准备好测试数据
create database game;
use game;
create table user(id int,name varchar(10),gender char(5));
insert into user values(01,'zhangsan','m');
insert into user values(02,'lisi','f');
insert into user values(03,'wangwu','m');
grant all on *.* to baimei@'%' identified by '123456';
第二个历程:将旧版数据库数据进行备份
第三个历程:安装新版本数据库服务
省略... 直接安装 5.7.30
第四个历程:实现挂库升级
停止旧版数据库服务
vim /data/3356/my.cnf
innodb_fast_shutdown=0
-- 企业实战环境,需要添加此配置参数信息在配置文件中,实现优雅关闭数据库服务
vim /data/3356/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql57
datadir=/data/3356/data
socket=/tmp/mysql3356.sock
port=3356
innodb_fast_shutdown=0
/usr/local/mysql57/bin/mysqld_safe --defaults-file=/data/3356/my.cnf --skip-grant-tables --skip-networking &
/usr/local/mysql57/bin/mysql_upgrade -S /tmp/mysql3356.sock --force
第五个历程:重新启动数据库服务
vim /etc/systemd/system/mysqld3357.service
ExecStart=/usr/local/mysql57/bin/mysqld --defaults-file=/data/3356/my.cnf
pkill mysql
systemctl start mysqld3357
mysql -uroot -S /tmp/mysql3356.sock
注意:
5.7 升级到8.0 的时候, 不需要执行下边的升级命令,
/usr/local/mysql57/bin/mysql_upgrade -S /tmp/mysql3356.sock --force
第四个历程:实现挂库升级
vim /data/3357/my.cnf
innodb_fast_shutdown=0
-- 企业实战环境,需要添加此配置参数信息在配置文件中,实现优雅关闭数据库服务
或者
> set global innodb_fast_shutdown=0
> select @@innodb_fast_shutdown
-- 连接进入旧版本数据库中,直接设置数据库服务功能参数信息,使之立即生效
systemctl stop mysqld3357
-- 配置文件加入以上参数后,此时关闭数据库服务,会采用优雅关闭服务,而不是采用快速关闭数据库服务方式
vim /data/3356/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3356/data
socket=/tmp/mysql3356.sock
port=3356
innodb_fast_shutdown=0
/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3356/my.cnf --skip-grant-tables --skip-networking &
pkill mysql
第五个历程:重新启动数据库服务
vim /etc/systemd/system/mysqld3380.service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3356/my.cnf
systemctl daemon-reload
systemctl start mysqld3380