首先需要在同一个局域网内的两台机器(当然也可以用一台机器虚拟两台机器出来),都安装上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主从复制
MySQL 5.6.26主从复制报错1050
MySQL主从复制详解
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
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx