当前位置:首页 > IT技术 > 数据库 > 正文

MYSQL单服务器迁移数据到集群
2021-09-08 12:38:42

1、导出单服务器整个数据库中的所有数据: 

#mysqldump -p"123456" --all-databases --flush-logs --master-data=2 > /tmp/master.sql

或者只导出某个数据库

#mysqldump -p"123456" --databases mysql > /tmp/mysql.sql

打开master.sql,注意到有如下文字
-- Position to start replication or point-in-time recovery from
-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.000220', MASTER_LOG_POS=156;

2、集群中导入整个数据

#mysql -p"123456"
mysql> source /tmp/master.sql

3、现在可以停止单服务器数据库了,避免数据变化,然后再导出从第一步执行mysqldump到当前的数据变化。

#mysqlbinlog --no-defaults --start-position=156 /var/lib/mysql/binlog.000220 > /tmp/last.sql

4、再在集群中导入最后部分数据

#mysql -p"123456"
mysql> source /tmp/last.sql
如果有用户或权限的变化,使用命令更新
mysql> flush privileges;

5、将所有APP的数据连接指向当前集群的服务地址

以上,完成MYSQL由单服务器向集群迁移。

本文摘自 :https://www.cnblogs.com/

开通会员,享受整站包年服务立即开通 >