【mysql5.6 主从复制】
1、配置主从节点的服务配置文件
1.1、配置master节点
[mysqld]
binlog-format=row
log-bin=master-bin
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=1
binlog-checksum=CRC32 ##循环冗余校验法32位
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=1
report-port=3306
port=3306
datadir=/mydata/data
socket=/var/lib/mysql/mysql.sock ##此项可以不改
report-host=master.node1 ##报告主机一般是自己的主机名
1.2、配置slave节点
[mysqld] binlog-format=row log-slave-updates=true gtid-mode=on enforce-gtid-consistency=true master-info-repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-workers=2 binlog-checksum=CRC32 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log_events=1 server-id=11 report-port=3306 port=3306 log-bin=mysql-bin.log datadir=/mydata/data socket=/var/lib/mysql/mysql.sock ##此项可以不改 report-host=slave.node2
2、在主节点上创建复制用户
mysql> GRANT REPLICATION SLAVE ON *.* TO repluser@192.168.1.110 IDENTIFIED BY '密码';
说明:192.168.1.110是从节点服务器,如果想一次性授权更多的节点,可以自行根据需要修改。
3、为从服务器节点提供初始数据集
锁定主表,备份主节点上的数据,将其还原至从节点,如果没有启用GTID,在备份时需要在master上使用show master status命令查看二进制日志文件名称及事件位置,以便后面启动slave节点时使用。
4、启动从节点的复制线程
如果启用了GTID功能,则使用如下命令:
mysql> CHANGE MASTER TO MASTER_HOST='master.magedu.com', MASTER_USER='repluser', MASTER_PASSWORD='密码', MASTER_AUTO_POSITION=1;
没启用GTID,需要使用如下命令:
slave> CHANGE MASTER TO MASTER_HOST='192.168.1.102',
-> MASTER_USER='repluser',
-> MASTER_PASSWORD='密码',
-> MASTER_LOG_FILE='master-bin.000003',
-> MASTER_LOG_POS=1174
5、启动root用户的所有权限(主要用于允许前端的amoeba代理能以root访问主从数据库) 分别在主、从数据库里执行如下命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;