A服务器1.1
B服务器1.2
需求:要将A服务器中a库的a1,b1,c1表同步到B服务器中b库里
A服务器:
1.首先将A服务器中a-c表导出,可以通过mysqldump命令导出
- 2.1 修改配置文件开启binlog日志,设置server-id(id不能与其他服务器重复)
2.2 因为此次只需要同步a库的三张表,不同步其他库,所以配置文件添加 binlog-do-db = a(a是数据库名) 参数,
可以添加忽略同步其他库binlog-ignore-db = information_schema,mysql,performance_schema,test,不添加好像也行(待测试)
2.3 show master status;#查看当前使用的binlog是哪个,待会在从库change master to的时候会用到
2.4 重启服务
B服务器:
- 导入数据,source,mysqldump均可
- 2.1 设置server-id,选择同步A服务器的哪个数据库到本地的哪个数据库replicate-rewrite-db= a->b
(a是A服务器上要同步的数据库名,b是B服务器上要同步到哪的数据库名,主要格式->)
(如果需要两个数据库这个配置可以再写一行replicate-rewrite-db= c->b c是第二个库的名字)
replicate-do-table = b.a1
replicate-do-table = b.b1
replicate-do-table = b.c1
上三行是配置要同步哪几个表
2.2 进入数据库创建授权用户
2.3 change master to....(如果不想手动输入可以添加到配置文件中)
2.4 slave start;开启同步,然后查看状态是否为双Yes,如果是插入一条测试数据检查是否成功。
(需要注意的是,先把表导入数据库,同步配置不会创建表)