mysql5.6的主从搭建和之前版本的有了很大的改进,5.6引进GTID(Global Transaction ID)来强化数据库主备一致性,故障恢复,
以及容错能力。GTID的引入方便了运维人员的操作难度。
安装mysql 5.6请参阅http://zhangxz.blog.51cto.com/5490116/1380366
1.创建复制账号
grant replication slave,replication client on *.* to ‘repl‘@‘192.168.2.%‘ identified by ‘password‘;
-->复制账号只需要replication slave权限,replication client权限是给后期维护做准备
2.主库和备库配置
master
bin_log = mysql-bin
server_id = 10
slave
server_id = 20
relay_log = /usr/local/mysql/data/mysql-relay-log #(指定中继日志位置)
3.启动复制
指定主服务器位置和账号
CHANGE MASTER TO
MASTER_HOST = ‘192.168.2.111‘,
MASTER_USER = ‘repl‘,
MASTER_PASSWORD = ‘password‘;
开始复制
START SLAVE;
注意
1.以上的操作是在主库的二进制日志保存完整的基础上,如果二进制日志删除过就要利用其他的方式备份到备库上然后开始复制
2.主库和备库的版本推荐用一样的,这样可以避免一些问题
3.server_id 不能相同
4.主库必须开启二进制日志,从库可以不开日志提高性能
相关配置
master
sync_binlog = 1 #每次提交事务都写到磁盘
innodb_flush_logs_at_trx_commit
innodb_support_xa = 1
innodb_safe_binlog
slave
replicate-do-db #需要复制的数据库
replicate-ignore-db #不需要复制的数据库
log_slave_updates = 1 #(允许备库将其重放的事件写入自身的二进制日志,做A--B--C复制用)
skip_slave_start #启动服务不启动复制
slave_skip_errors = all #跳过所有类型的错误
从数据库建议设置成read_only (set global read_only = 1)
本文出自 “Jeff” 博客,请务必保留此出处http://zhangxz.blog.51cto.com/5490116/1380492