资源环境
资源环境
源库环境:
操作系统:Linux5.4
Ip 地址 :192.168.0.2
目标库环境:
操作系统:Linux6.8
Ip 地址:192.168.0.3
基本步骤
①:停止业务,备份现有数据库(mysqldump方式或者物理备份)
②:下载MySQL 5.7.23软件包,然后安装
③:修改配置my.cnf配置文件
④:启动新版本数据库
⑤:导入备份的数据
⑥:检查升级结果:select version()并核对数据情况
迁移前的检查
①:现有MySQL数据库是否已经备份
②:业务是否已经停止
1
检查现有环境
①:检查旧数据库MySQL状态:
②:查看旧数据库的配置文件
[root@mysqldb ~]$ vi /etc/my.cnf
……………………
数据库版本
/usr/bin/mysql -uroot -p -h192.168.0.2
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9671
Server version: 5.1.73 Source distribution
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.1.73 |
+-----------+
1 row in set (0.00 sec)
③:停业务,备份数据库
mysqldump -h192.168.0.2 -uroot -pxxxxxx --opt --databases db_name1 db_name2 |gzip -9 > /db_backup/mul_db.gz
copy 到 192.168.0.3主机上
④:关闭数据库:
Mysqladmin –uroot –pxxxx –h192.168.0.2 shutdown
2
下载mysql5.7并安装
mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz (这个软件包解压后就可以用,不用安装)
[root@newdb ~]$ tar zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz (把软件直接解压到/home/mysql)
[root @newdb ~]$ mv mysql-5.7.23-linux-glibc2.12 -x86_64/ mysql-5.7.23
/u01/mysql-5.7.23/bin/mysqld --defaults-file=/u01/mysql-5.7.23/support-files/my.cnf --initialize-insecure --user=mysql --basedir=/u01/mysql-5.7.23 --datadir=/u01/mysql-5.7.23/data
3
新库配置文件信息如下:
添加了慢日志及日志文件为了做slave 用
4
启动mysql数据库
[msyql@newdbmysql-5.7.23]$bin//mysqld_safe --defaults-file=/u01/mysql-5.7.23/support-files/my.cnf
注意在修改mysql密码
mysql> update user set password=PASSWORD("qazwsx_123") where User='root';
结果使用这个命令的时候报错:
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
原因是从mysql 5.7开始,password字段被替换为了authentication_string,可以使用下面的命令来修改
update user set authentication_string=password(‘qazwsx_123’) where user='root'
flush privileges;
5
导入备份数据
解压mul_db.gz
/u01/mysql-5.7.23/bin/msyql -h192.168.0.3 -uroot
6
检查迁移结果并核对数据情况
1.对比表的多少
SELECT COUNT(*) TABLES, table_schema
FROM information_schema.TABLES
GROUP BY table_schema;
2.对边视图
show table status where comment='view';
select TABLE_NAME ,TABLE_SCHEMA from information_schema.VIEWS;
都可以用
3.对边过程及函数,tirggers
select name ,type ,db from proc;
select TRIGGER_SCHEMA,TRIGGER_NAME from information_schema.triggers;
注意事项
1.业务的兼容性
2.语句的执行计划
3.参数的设置
领取专属 10元无门槛券
私享最新 技术干货