使用的MySQL版本为5.7
一、主库配置内容
1、修改my.ini文件:
在[mysqld]如下添加配置
server-id=1 #主库和从库需要不同的id
log-bin=mysql-bin
#需要同步的数据库名,如有多个就写多条
binlog-do-db=dbName1 #同步的数据库
binlog-do-db=dbName2 #同步的数据库
#不需要同步的数据库名,与上面的binlog-do-db为互斥关系,一般只需要配置一种即可
binlog-ignore-db=dbName #不需要同步的数据库
2、添加新用户(也可用老用户)
3、重启MySQL服务
4、输入show master status;命令查看主库信息,记录下File和Position的信息,在配置从库时需要用到
二、从库配置内容
1、修改my.ini文件:
在[mysqld]如下添加配置
server-id=2 #和主库的id不能一样
replicate-do-db=dbName1 #需要同步的表
replicate-do-db=dbName2 #需要同步的表
#与主库中的配置类似
replicate-ignore-db=dbName1 #不需要同步的表
2、重启MySQL服务
3、执行命令如下:
change master to master_host='192.168.xxx.xxx', master_port=3306,master_user='主库中的用户名',master_password='用户密码',master_log_file='之前记录的file的信息',master_log_pos=之前记录的position的信息
4、执行命令START SLAVE;启动从库
5、执行命令SHOW SLAVE STATUS;查看SLAVE_IO_RUNNING和SLAVE_SQL_RUNNING状态是否为YES
以上都做完后配置完成,在主库中添加表或数据后检查从库是否也同步修改了
注:网上有些比较老的文章配置从库my.ini文件时需要添加一些master-host、master-user、master-xxxx等配置项,这些配置项在5.7版本已不能使用,需要使用change master命令代替
另外如果要配置双主库的话每个配置文件上还需要再配置两个参数:auto_increment_offset和auto_increment_increment
auto_increment_offset是设置主键偏移量,auto_increment_increment是设置主键增量,大致配置如下:
主库:
#设置主键偏移量
auto_increment_offset=2
#设置主键增量
auto_increment_increment=2
从库:
#设置主键偏移量
auto_increment_offset=1
#设置主键增量
auto_increment_increment=2