centos7+mysql5.7主从配置..

MysqL主从配置

1.1 部署环境

主(master_MysqL):192.168.56.5 OS:Centos 7.2
从(slave_MysqL):192.168.56.6 OS:Centos 7.2

1.2 配置

1.2.1主配置(master_MysqL配置)
vi /etc/my.cnf

server-id=5 #设置主服务器的ID(不能和别的服务器重复,建议使用ip的最后一段)
innodb_flush_log_at_trx_commit=2  #
sync_binlog=1  #开启binlog日志同步功能
log-bin=MysqL-bin-5  #binlog日志文件
binlog-do-db=xxxx  # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)
1.2.2配置完成后,重启主库的MysqL
service MysqLd restart
MysqL -u root -p ##登录MysqL

MysqL>grant replication slave on *.* to 'mark'@'192.168.56.%' identified by '123456';   
##授权给从数据库服务器用户名mark,密码123456,192.168.56.%使用通配符表示该网段下所有服务器均可使用

MysqL>show master status ; ##查看主库的状态 file,position这两个值很有用,记一下。要放到slave配置中
+--------------------+----------+--------------+------------------+-------------------+ | File | Position | binlog_Do_DB | binlog_Ignore_DB | Executed_Gtid_Set | +--------------------+----------+--------------+------------------+-------------------+ | MysqL-bin-5.000002 | 906 | xxxx | | | +--------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec) +--------------------+----------+--------------+------------------+-------------------+ | File | Position | binlog_Do_DB | binlog_Ignore_DB | Executed_Gtid_Set | +--------------------+----------+--------------+------------------+-------------------+ | MysqL-bin-5.000002 | 906 | xxxx | | | +--------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
1.2.3从配置(slave_MysqL配置)
vi /etc/my.cnf

server-id=6
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=MysqL-bin-6
1.2.4配置完成后,重启从库的MysqL
service MysqLd restart
MysqL -u root -p ##登录MysqL


MysqL> change master to master_host='192.168.56.5',master_user='mark',master_password='123456',master_log_file='MysqL-bin-5.000002',master_log_pos=906;
MysqL> start slave;  ##开启从库 (stop slave:关闭从库)
MysqL> show slave status; ###Slave_IO_Running,Slave_sql_Running 都为Yes的时候表示配置成功

1.3 验证主从

可以在主库上对数据进行操作,再在从库上刷新是否同步

常见BUG

在配置结束后,可能会出现
Slave_IO_Running: No
Slave_sql_Running: Yes
在确认主服务器防火墙已关闭,互相可以ping通,id设置唯一的前提下,还出现这个问题,那可能就是克隆了虚拟机,只改server-id不行,两台服务器的MysqL的uuid还是同一个
cp /var/lib/MysqL/auto.cnf /var/lib/MysqL/auto.cnf.bk ##备份该文件 service MysqLd restart ##重启MysqL,会重新生成文件MysqL的uuid已经被重新生成 cp /var/lib/MysqL/auto.cnf /var/lib/MysqL/auto.cnf.bk ##备份该文件 service MysqLd restart ##重启MysqL,会重新生成文件MysqL的uuid已经被重新生成
然后再去从服务器重启slave
MysqL> stop slave;
MysqL> start slave;
MysqL> show slave status;
然后可以看到现在已经是启动正常了
Slave_IO_Running: Yes
Slave_sql_Running: Yes

转载链接 : https://www.jianshu.com/p/24c1995e9bd8

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native