首先需要在同一个局域网内的两台机器 (当然也可以用一台机器虚拟两台机器出来), 都安装上 MySQL 服务.
主机 A: 192.168.1.100
从机 B: 192.168.1.101
可以有多台从机.
1, 先登录主机 A, 执行如下命令赋予从机权限, 如果有多台丛机, 就执行多次:
MySQL>GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.101' IDENTIFIED BY '123456';
2, 打开主机 A 的 my.cnf, 输入如下配置参数:
- server-id = 1 #主机标示, 整数
- log_bin = /var/log/MySQL/MySQL-bin.log #确保此文件可写
- read-only =0 #主机, 读写都可以
- binlog-do-db =test #需要备份数据, 多个写多行
- binlog-ignore-db =MySQL #不需要备份的数据库, 多个写多行
3, 打开从机 B 的 my.cnf, 输入如下配置参数:
- server-id = 2
- log_bin = /var/log/MySQL/MySQL-bin.log
- master-host =192.168.1.100
- master-user =backup
- master-pass =123456
- master-port =3306
- master-connect-retry=60 #如果从服务器发现主服务器断掉, 重新连接的时间差 (秒)
- replicate-do-db =test #只复制某个库
- replicate-ignore-db=MySQL #不复制某个库
4, 同步数据库
进过以上的配置, 分别重启主机 A 和从机 B, 即可自动实现同步.
5, 验证
在主机 A 中, MySQL>show master statusG;
在从机 B 中, MySQL>show slave statusG;
能看到大致这些内容
- File: MySQL-bin.000001
- Position: 1374
- Binlog_Do_DB: test
- Binlog_Ignore_DB: MySQL
另外可以在主机 A 中, 做一些 INSERT, UPDATE, DELETE 操作, 看看主机 B 中, 是否已经被修改.
Ubuntu 16.04 下实现 MySQL 主从复制 http://www.linuxidc.com/Linux/2017-08/146624.htm
MySQL 5.6.26 主从复制报错 1050 http://www.linuxidc.com/Linux/2017-08/146203.htm
MySQL 主从复制详解 http://www.linuxidc.com/Linux/2017-10/147550.htm
MySQL 基于 GTID 主从复制之半同步复制 https://www.linuxidc.com/Linux/2018-05/152175tm
MySQL 主从复制读写分离与高可用配置 https://www.linuxidc.com/Linux/2018-04/151893.htm
MySQL-proxy 代理加 MySQL 主从实现读写分离 https://www.linuxidc.com/Linux/2017-05/143453.htm
MySQL 主从同步错误恢复 https://www.linuxidc.com/Linux/2018-11/155422.htm
MySQL 主从复制实战 https://www.linuxidc.com/Linux/2018-11/155421.htm
CentOS 7.2 下 MySQL 主从复制配置 https://www.linuxidc.com/Linux/2018-09/154521.htm
CentOS 7.4 下 MySQL+Amoeba 实现主从同步读写分离 https://www.linuxidc.com/Linux/2018-03/151648.htm
来源: http://www.linuxidc.com/Linux/2019-02/156896.htm