mysql主辅库同步

主库:192.168.40.4 DB:testsyn table:users
辅库:192.168.40.5

1.配置主库my.cnf

[mysqld]
log-bin=mysql-testsyn-bin --主库二进制日志文件名的前缀
binlog-do-db=testsyn --要同步的数据库
server-id = 1 --serverid和辅库不同即可



启动mysql

[color=red]创建用户testsyn.拥有replication slave权限[/color]
grant replication slave on *.* to "testsyn"@"192.168.40.%" identified by 'testsyn' with grant option;


查看主库状态:

show master status;


2.配置辅库my.cnf

server-id = 2
master-host = 192.168.40.4
master-user = testsyn
master-password = testsyn
master-port = 3306
master-connect-retry = 5 --重试间隔时间
replicate-do-db = testsyn --同步db
#replicate-wild-do-table = user%.%
#replicate-do-db = itemcontent
#replicate-do-db = srcstore



启动mysql

查看辅库状态:
 show slave status;

说明:
Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件
Slave_SQL_Running:读取本地日志文件,并执行日志里的sql

3.把主库上的数据dump到辅库上


主库:192.168.40.4:
mysqldump --opt --master-data -uspider -pcrawler testsyn > /home/mahaibo/dump-testsyn &


[color=red]注意参数:--master-data[/color]

辅库:192.168.40.5
[color=red]先建立库:create database testsyn;[/color]

导入:
stop slave

mysql -uspider -pcrawler testsyn < /home/mahaibo/dump-testsyn


start slave;


[color=red]必须先停止stop slave,然后才能导入[/color]

4.在主库192.168.40.4上在users表里插入一条数据:
insert into users (username,password) values ('test1','test1');

辅库上的users表里也相应的有了数据。

5.查看主库二进制日志文件内容:
[color=red] show binlog events;
[/color]


注意:
1.主辅库同步主要是通过[color=red]二进制日志[/color]来实现同步的。
2.在启动辅库的时候必须[color=red]先把数据同步[/color],[color=red]并删除日志目录下的:master.info文件[/color]。因为master.info记录了上次要连接主库的信息,如果不删除,即使my.cnf里进行了修改,也不起作用。因为读取的还是master.info文件里的信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值