2018-08-30 PHP Mysql 读写分离 数据同步

Mysql主从同步,集群,读写分离,都会涉及数据的数据同步,所以想玩哪些东西,我们还是要把这个数据同步的基础学会之后我们才能玩其他的,今天就给大家带来了这个小案例,亲测,没毛病!
以下案例是测试案例,当然你线上服务器也是一样的!首先你要保证的你的操作系统的统一,数据库的版本的统一你才能开启数据同步的大门!下面就上步骤了!


image.png

1:首先你需要一个虚拟机,然后上面配置两个系统,当然你的mysql的版本要保持一致
2:你在你主的mysql里面创建一个你要同步的mysql数据库
在这之前需要做一步重要的操作

授权给从数据库服务器192.168.1.15

use mysql;
grant all privileges  on *.* to back@'192.168.1.15' identified by "password";
flush privileges;
image.png

3:Linux 下面的mysql 配置文件


图片描述

linux 下有一个my.cnf的文件
主服务器的配置
4:vim /etc/my.cnf
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
binlog_do_db = test #指定需要同步的数据库(实际应用中根据实际情况指定)
binlog_ignore_db = mysql #无需同步的数据库
binlog_ignore_db = information_schema #无需同步的数据库
%设置同步之后注意,如果你在主服务器上面创建数据库之后,从服务器也是会创建的,然后他们也是会同步的,所以你还要创建其他的数据库要禁掉不让他们同步
红线里面的是你要添加的配置
5:登陆mysql,然后查看master的status,记下这个file和position的值,后面从服务要用到


image.png

从服务器的配置:
1:也是同样找到那个my.cnf的文件(我用的是window,所以配置文件就是mysql.ini)
log-bin=mysql-bin
binlog_format=mixed
server-id = 2 #这里是2 主服务器是1,以下的需要同步的数据库什么配置和主服务器的是一样的
binlog_do_db = test #指定需要同步的数据库(实际应用中根据实际情况指定)
binlog_ignore_db = mysql #无需同步的数据库
binlog_ignore_db = information_schema #无需同步的数据库
2:进入mysql,执行stop slave;


image.png
image.png

原文参考:http://www.imooc.com/article/15511
原文参考:https://blog.csdn.net/starlh35/article/details/78735510

推荐阅读更多精彩内容