win7系统2台服务器
主:192.168.0.152
从:192.168.0.107
mysql5.7.14
我的是虚拟机做的(开始的时候在一台虚拟机上安装好mysql,又克隆了一个虚拟机,结果配置好后无法同步,原因是mysql的auto.cnf的server-uuid相同导致的)
服务器安装好mysql后
(1)开启mysql远程访问的权限
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
(2)修改my.cnf
1)主配置:
[mysqld]下添加或修改
log-bin=mysql_log_bin
binlog-do-db = shdhv2
binlog-ignore-db=information_schema
binlog-ignore-db =mysql
binlog-ignore-db =test
重启mysql
show master status;查看mysql的信息
Fiile和Position这2个参数值在配置从数据库要用到
2)从配置:
[mysqld]下添加或修改
server-id=2
log-bin=mysql_log_bin
binlog-ignore-db=information_schema
binlog-ignore-db =mysql
binlog-ignore-db =test
replicate-do-db=shdhv2
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60
server-id不能和主的重复
修改完配置,重启mysql
(3)修改主从权限
1)主服务器下运行
grant FILE on *.* to 'root'@'192.168.0.107' identified by 'root';
grant replication slave on *.* to 'root'@'192.168.0.107' identified by 'root';
flush privileges;
2)从服务器下运行
stop slave;
change master to master_host='192.168.0.152',master_user='root',master_password='root',master_log_file='mysql_log_bin.000006', master_log_pos=1024;
start slave;
参数:master_log_file='mysql_log_bin.000006' 和 master_log_pos=1898;是在主服务器下运行show master status;看到的对应数值
重启mysql
查看从数据库是否配置成功 从服务器运行:SHOW SLAVE STATUS
当看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明==状态正常==
配置完成,添加一个表或在一个表中添加数据,查看2台数据库的数据是否一致。