十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下文内容主要给大家带来MySQL5.7配置的多源复制讲义,所讲到的知识,与书籍略有不同,都是创新互联专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟空间、营销软件、网站建设、扶沟网站维护、网站推广。
假设现在有三台主机,两台主库分别为master1,master2,一台从库slave
1,在主库上分别开启二进制日志,并且配置不同server-id;
[mysqld]
log-bin=mysql-bin
server-id=1
2,分别在两台主库创建一个专用于复制的用户,并且赋予复制权限;
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
3,分别在两个主库执行状态查询,并且记录查询状态;
SHOW MASTER STATUS;
分别记录file,position,假设master1查询结果为file1,pos1,master2查存结果为file2,pos2
4,配置从库
1),设置如下两个变量值为table;
set global master_info_repository='TABLE';
set global relay_log_info_repository='TABLE';
2),分别执行如下设置语句:
CHANGE MASTER TO
MASTER_HOST='master1,
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='file1',
MASTER_LOG_POS=rpos1 for channel 'master1';
CHANGE MASTER TO
MASTER_HOST='master2,
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='file2',
MASTER_LOG_POS=rpos2 for channel 'master2';
3),启动从库复制
同时启动:
start slave;
也可以分别启动:
start slave for channel 'master1';
start slave for channel 'master2';
同时停止:
stop slave;
也可以分别停止:
stop slave for channel 'master1';
stop slave for channel 'master2';
注意:如果通过虚拟机来操作的过程中,有拷贝虚拟机的情况,比如通过拷贝master1来创建虚slave,
那么很可能会出现从库不能启动问题,此时需要在从库执行以下操作:
1,清空从库以下表格:
slave_master_info
slave_relay_log_info
slave_worker_info
innodb_index_stats
innodb_table_stats
2,停止mysqld服务,删除数据目录下的auto.cnf文件,重新启动mysqld服务;
3,继续配置从库。
对于以上关于mysql5.7配置的多源复制讲义,如果大家还有更多需要了解的可以持续关注我们创新互联的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。