作者:dante
个人网站:dantesite.ihostfull.com
centos7.4 (centos 1708)
mysql 5.7
master主机的IP地址为192.168.159.50
slave主机的IP地址为192.168.159.51
Master主机的同步用户名和密码:slave/Admin@123
slave主机的同步用户名和密码:master/Admin@123
vi /etc/my.cnf
加入以下内容
server-id = 1------------------------------->配置服务器的服务号
log-bin =master--------------------------->指定数据库操作的日志文件
replicate-do-db= pos-------------------->指定要同步的数据库,如果有多个,请重复该行内容并修改数据库名称为对应数据库。
replicate-ignore-db= mysql-------------->指定不需要同步的数据库
replicate-ignore-db= information_schema
max_binlog_size= 500M----------------->设置日志文件得最大值,超过该值则另启文件记录日志
binlog_cache_size= 128K--------------->设置日志文件缓存大小
vi /etc/my.cnf
加入以下内容(如果仅配置主从同步,红色字体部分可以不配置)
server-id = 2 ------------------------------->配置服务器的服务号
log-bin = master--------------------------->指定数据库操作的日志文件
replicate-do-db = pos-------------------->指定要同步的数据库,如果有多个,请重复该行内容并修改数据库名称为对应数据库。
replicate-ignore-db = mysql-------------->指定不需要同步的数据库
replicate-ignore-db = information_schema
max_binlog_size = 500M----------------->设置日志文件得最大值,超过该值则另启文件记录日志
binlog_cache_size = 128K--------------->设置日志文件缓存大小
登录到数据库
在master主机上
mysql> grantreplication slave on *.* to
->‘slave‘@'192.168.159.%'
-> identifiedby 'Admin@123';
mysql> flushprivileges;
在slave主机上
mysql> grantreplication slave on *.* to
->‘master’@'192.168.159.%'
-> identifiedby 'Admin@123';
mysql> flushprivileges;
在master主机上
mysql> Changemaster to master_host='192.168.159.51',
->master_user='master',
->master_password='Admin@123';
在slave主机上
mysql> Changemaster to master_host='192.168.159.50',
->master_user=’slave',
->master_password='Admin@123';
保证两台主机初始数据一致后,可进行如下操作,以启动同步功能,以让mysql从头开始进行同步
在master主机上
mysql>resetmaster;
mysql>resetslave
mysql>slavestart
在slave主机上(如果是主从同步,红色字体内容可以不做操作)
mysql>reset master;
mysql>resetslave
mysql>slavestart
mysql> showmaster status;
mysql> showslave status \G ;