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、現在可以停止單服務器數據庫了,避免數據變化,然后再導出從第一步執(zhí)行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/