風之力

导航

MYSQL单服务器迁移数据到集群

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由单服务器向集群迁移。

posted on 2021-09-08 11:54  ZY.Zhou  阅读(177)  评论(0编辑  收藏  举报