MySQL5.17异机迁移到MySQL 5.7.23基本步骤

来源:这里教程网 时间:2026-03-01 15:20:21 作者:

资源环境 资源环境

源库环境:

 操作系统: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>

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   </u01/mul_db

 

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.参数的设置

相关推荐