windows下的mysql主从同步

Posted 濒临小浣熊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下的mysql主从同步相关的知识,希望对你有一定的参考价值。

mysql主从同步:


1.为什么要主从同步?

  在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一。尤其是在大规模系统中,数据库集群已经成为必备的配置之一。集群的好处主要有:查询负载、数据库复制备份等。其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性


2.mysql主从同步

   我的要同步的两台mysql数据库版本都是mysql5.6,两台电脑都在同一个网段之中。

   ①修改主数据库my.ini配置:

   Server-id = 1  这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错;

   log-bin = mysql-bin 二进制日志文件,此项为必填项,否则不能同步数据;如果不取名字的话,那么就会以    计算机的名字加编号来命名二进制文件;

   binlog-do-db = testcreate  需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果    不写,那么默认同步所有的数据库;

   binlog-ignore-db = mysql 不需要同步的数据库;

   修改完成之后重启mysql服务。

   注意点:在linux下,只需要修改/etc/my.cnf即可,但是在windows下,我改了安装目录下的my.ini,发现配置    并不生效,后来我看到了服务中的mysql服务的属性,发现了这么一句话:"C:\Program Files\MySQL\MySQL      Server 5.6\bin\mysqld.exe" --defaults- file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"        MySQL56,原来mysql服务读取的配置文件在这里,后来修改了这个路径下的my.ini,重启服务,配置就生效      了。


   ② 添加主数据库用于同步的账号:

   给主数据库授权一个可以进行复制的用户,执行如下命令:

   grant replication slave on *.* to ‘slave‘@‘%‘ identified by ‘123‘;

      

   ③显示主数据库的同步信息:

          技术分享

        可以看出已经产生了二进制的日志文件信息,mysql的同步就是通过这个二进制日志文件进行同步,主数据库把    对数据库的操作的指令都记录到该日志文件下,从数据库通过读取该文件,来对从数据库中的数据进行修改,    从而达到主从同步的效果。


   ④配置从数据库的my.ini

   从数据库的话只需要配置server-id,binlog-do-db,binlog-ignore-db即可。

    

   ⑤设置从数据库链接到主数据库

 

   在mysql下执行slave stop命令,停止slave服务;

      mysql> change master to

       -> master_host=‘192.168.1.189‘,

       -> master_user=‘slave‘,

       -> master_password=‘123‘,

       -> master_log_file=‘mysql-bin000014.000001‘,

       -> master_log_pos=107;

    注意:这里的master_log_file,master_log_pos的值要和master的值一致。否则会无法同步。

    执行slave start命令,启动服务。

    注意:在这里可能会无法链接到主数据库,需要看主数据库中my.ini中bind 127.0.0.1是否没有被注释,如果     没有,那么只能在本机登录,而不能使用远程登录方式。


   ⑥验证是否同步:

   执行show slave status\G;

   得到如下结果则说明同步成功。

       技术分享

      也可以在主数据库被同步的表中做crud操作,看从数据库中的数据有无变化。









以上是关于windows下的mysql主从同步的主要内容,如果未能解决你的问题,请参考以下文章

Windows下mysql5.5主从同步

mysql在windows下主从同步配置

window环境下mysql实现主从同步

windows下mysql-8.0.13主从同步配置方案(读写分离)

windows下mysql-8.0.13主从同步配置方案(读写分离)

windows10下搭建mysql5.7的主从同步