mysql 基于binlog 实现主从复制。
原理:在主服务器上开启binlog功能生成二进制日志文件记录数据库的所有修改, 然后从服务器从主服务器上获取日志文件并执行,实现主服务器的任何修改都能同步到从服务器
操作步骤
- 配置主服务器- my.cnf并重启mysql服务- [mysqld] log-bin=mysql-bin server-id=1
- 配置从服务器- my.cnf并重启mysql服务- [mysqld] server-id=2
- 在主服务器上新建用于同步的mysql用户- GRANT REPLICATION SLAVE ON *.* to 'mysync'@'从服务器ip' identified by 'sync';
- 查看主服务器状态- show master status; 
- 配置从服务器- change master to master_host='主服务器IP',master_user='sync',master_password='sync',master_log_file='第四步中的mysql-bin.000005',master_log_pos=第四步中的1956;
- 启用从服务器- start slave;
- 检查从服务器状态, Slave_IO_Runing及Slave_SQL_Runing必须为YES- show slave status\G 
大功告成, 测试修改主服务器上的数据, 看从服务器会不会同步
其他
- 如果使用了复制的虚拟机, mysql服务的uuid可能会一样Slave_IO_Runing=No, 需要把从服务器mysqldata目录下的auto.cnf删掉然后重启mysql服务
