上一篇博客有介绍如何在CentOS7.0下安装MysqL5.6.34,这里就不再重复介绍安装问题,直接进入正题。
首先,确保master主服务器防火墙关闭。
命令如下:
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动
CentOS7默认的防火墙是firewall,不是iptables,如果想使用iptables可以用yum进行安装,命令:yum -y install iptables-services
1.配置Master服务器
vi /etc/my.cnf
#配置二进制日志
log-bin=master-bin
log-bin-index=master-bin.index
#为服务器增加一个id标识,防止跟其他Slave冲突,常用的命名方式是用ip的最后三位,同一局域网中ip后三位不会相#同,便于管理,这里为了简单,就只写为1
server-id=1
重启Master服务器上的MysqL,命令:service MysqL restart
2.在Master上创建一个复制用户
MysqL> grant replication client,replication slave on *.* to
-> 'repl'@'%'
-> identified by 'repl';
Query OK,0 rows affected (0.04 sec)
注:%表示允许在任何机器上远程访问,可以自己定义一个确定的IP地址,这样会更安全些
MysqL>flush privileges;//刷新权限
注:可以用命令MysqL>show master status \G 查看当前Master的状态,状态如下:
*************************** 1. row ***************************
File: master-bin.000002
Position: 422
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
这里我们是对所有的库和表都进行复制操作,所以就不需要忽略任何库,直接默认就行
3.配置Slave服务器
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
重启Slave服务器上的MysqL,命令:service MysqL restart
4.连接Master和Slave
MysqL> change master to
-> master_host='192.168.213.130',//这里输入Master的ip地址,可以用ifconfig命令查看
-> master_user='repl',//这个就是前面建立的用户名和密码
-> master_password='repl';
MysqL> start slave;//启动slave
MysqL> show slave status\G //查看Slave的状态
状态如下:
Slave_IO_State: Waiting for master to send event 表示成功连接 Slave与Master,之后就可以在Master库中进行查询操作了