源库环境:
操作系统:Linux5.4
Ip 地址 :192.168.0.2
目标库环境:
操作系统:Linux6.8
Ip 地址 :192.168.0.3
基本步骤:
①:停止业务,备份现有数据库(mysqldump方式或者物理备份)
②:下载MySQL 5.7.23软件包,然后安装
③:修改配置my.cnf配置文件
④:启动新版本数据库
⑤:导入备份的数据
⑥:检查迁移结果并核对数据情况
迁移前MySQL检查:
①
:现有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 、 检查迁移结果并核对数据情况