mysql自动同步
以下教程均使用mysql自带的自动同步功能
全库单向自动同步
本例把192.168.3.45上名称为ewater_main的数据库自动同步到192.168.3.68的ewater_main数据库,前者被称为主库(master),后者称为从库(slave)
注意同步是单向(从192.168.3.45到192.168.3.68)。且是全库(全部的表)。
首先用navicat,分别在master和slave都建一个用于同步的用户,用户密码都是repl,然后允许主机先设为%(需要考虑安全性可以设具体ip)
在master的主机也就是192.168.3.45上操作,打开mysql的命令行
输入:
grant replication slave on *.* to ‘repl‘@‘192.168.3.68‘ identified by ‘repl‘;
其中192.168.3.68是slave的ip,第一个repl是用于同步用户的用户名,第二个repl是同步用户的密码
再输入:
flush privileges;
结果如图
然后修改master的my.ini文件
PS:注意,以下提到的在my.ini里面的配置项,有些已经存在文件,有些不存在,因此在修改前必须先搜索一次确认是否已存在, 否则多个同名配置项后者会把之前的覆盖
找到server-id项,并修改,可以任意改一个,但不要是1,本例设为107
然后再设置配置项log-bin,值设为一个绝对路径,此值用于存储二进制日志文件。注意,例如此例中配置为D:\MysqlLogBin\log,意思是日志文件都放在D:\MysqlLogBin文件夹下,且日志文件都以log