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

资源环境

资源环境

源库环境:

操作系统: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.参数的设置

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180920G1K2XM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区