创建主从步骤:
1.修改从库配置
replicate-rewrite-db = source_database-> new_database
replicate-wild-do-table=new_database.table1
replicate-wild-do-table=new_database.table2
replicate-wild-do-table=new_database.table3
注意删除其他配置,防止主从失败 如:
#replicate-wild-do-table = mysql%.%
2.mysqldump master
mysqldump -udba -p -q -P 3306 -h 1.1.1.1 --single-transaction source_database table1 table2 table3 --master-data=2 > /tmp/game.sql
2.5传输到从库
[mysql@master /tmp]$ scp game.sql slave:/tmp
3.主库根据mysqldup文件记录计算gtid_pos
head -n 50 game.sql
{也可以在主库用日志点计算gtid的值:
select BINLOG_GTID_POS(‘mysql-bin.000044’,726971640);}
4.从库还原数据
mysql -u dba -p -P 3306 -h 2.2.2.2 new_database</tmp/game.sql
5.从库设置pos change master
MariaDB [(none)]> SET GLOBAL gtid_slave_pos=‘0-22403308-203363565’;
ERROR 1198 (HY000): This operation cannot be performed as you have a running slave ‘’; run STOP SLAVE ‘’ first
MariaDB [(none)]> stop slave;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> SET GLOBAL gtid_slave_pos=‘0-22403308-203363565’;
Query OK, 0 rows affected (0.00 sec)
CHANGE MASTER TO MASTER_HOST=‘192.168.2.131’,
MASTER_USER=‘slave’,
MASTER_PASSWORD=‘XXXXXX’,
MASTER_PORT=3306,
MASTER_USE_GTID=slave_pos;
6.从库开启复制
start slave;
此时从库的三张表将随主库变化,随时切换,本操作主要用于服务迁移到新集群的场景 ,可以保证服务的可用性和数据的完整性。