到了这一步,我们就可以测试主从的同步了。

1.首先给主表解锁,写入一些东西。因为之前我们锁定了表。

mysql>unlock tables;                           表解锁

mysql>use db1;                                 切换库

mysql>drop table help_category;                删除其中一个表


2.然后登陆到从mysql上,看看是否同步了。

mysql>use db1;

mysql>show tables;


注意:主从同步,指的是主变化,从同步。而不能在从上面改变数据,否则会使得同步紊乱,切记。


3.再次测试,删除主上一个表。

mysql>drop table proc;

4.登陆从mysql,mysql>show tables;


可以看到,主从已经同步,表一致了。创建表也一样,会同步。


5.主上面删除库db1

mysql>drop database db1;    删除库db1

mysql>show databases;       查看有哪些库


6.从上面查看库

mysql>show databases;     

可以看到,从上面的库也被删除了。


根据铭哥多年的经验,发现mysql主从机制非常脆弱,经常中断同步的现象。所以,建议做主从的监控,核心是监控从的  Slave_IO_Running: Yes和Slave_SQL_Running: Yes 是否都是Yes

Last_IO_Errno: 和Last_IO_Error:是否有错误。



课后答疑:

请教三个问题:

一、MYSQL里面的主从是否正常工作的监控思路是什么?我只做个简单的监听端口是否存活,程序里面的具体状态没做过;

二、如果要实现双机互为主从,也就是都能写数据能做吗?

三、基于bin-log,有什么办法恢复到过去的某一个时间点的数据?


aming

1.监控思路是看,slave status,是否是两个yes,同时看两个io error有无东西。

2.互为主从,也就是所谓的主主,写任意机器都可以

3.根据bin-log是可以恢复到指定时间点的,网上文档很多