设为首页 收藏本站
查看: 856|回复: 0

[经验分享] 在Centos7玩转Mysql半同步和keepalived+MHA(一)

[复制链接]

尚未签到

发表于 2018-12-31 07:20:41 | 显示全部楼层 |阅读模式
  网上这类教程还是有很多的,但是多半不能拿过来自己配置,比如my.cnf里面"-"和"_"有些博文写错导致mysql无法启动,排查起来费时费力,本文是网上的资料的集合也是填了几个基本会遇到的坑。
  玩转Mysql半同步和keepalived+MHA(一)只涉及mysql半同步的内容,keepalived+MHA我放在第二章。
  本次配置采用虚拟机环境
角色IPOSMySQLMHA
mha-manager192.168.1.92CentOS 7mha-manager mha-node
mysql-master192.168.1.151CentOS 7mysql-mastermha-node
mysql-slave01192.168.1.152CentOS 7mysql-slavemha-node
mysql-slave02192.168.1.153CentOS 7mysql-slavemha-node
  分别在3台Centos7安装percona5.6
wget https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm
rpm -ivh ./percona-release-0.1-4.noarch.rpm
yum install Percona-Server-server-56.x86_64 -y  192.168.1.151下面/etc/my.cnf的内容:
server-id=151
port=3306
log-bin=master-bin.log
log-bin-index=master-bin.index
expire-logs-days=14
#character-set-server = utf8mb4 #根据自己需要
#default-storage-engine=myisam #根据自己需要  192.168.1.152/3下面/etc/my.cnf的内容:
log-bin=mysql-bin
relay-log = slave-relay-bin
server-id=152  #另外一台改下这里server-id=153
relay-log-index = slave-relay-bin.index
#replicate-wild-ignore-table = mysql.% #看需求
#default-storage-engine=myisam #看需求  启动mysql

systemctl restart mysql  启动不了请认真检查my.cnf和查看日志。
  进入主数据库得到binlog日志文件名和偏移量
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      1216|              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)  注意:如果是在使用数据库需要使用读锁
mysql>flush tables with read lock;
  备份主库数据库,并使用source恢复到从机。
mysqldump test > test.sql
  然后解锁主库
mysql>unlock tables;
  由于本文是新建虚拟机没有数据,这步可以略过。
  记录好binlogfile和position之后,在主库创建用户
grant replication slave on *.* to 'repl'@'192.168.1.152' identified by 'repl';
grant replication slave on *.* to 'repl'@'192.168.1.153' identified by 'repl';  分别进入152和153的mysql执行:
change master to master_host='192.168.1.151',master_user='repl',master_password='repl',master_port=3306,master_log_file='master-bin.000001',master_log_pos=1216;  安装插件,分别进入3台mysql执行:
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
mysql> set global rpl_semi_sync_master_enabled=on ;
注意 从库最后一行执行set global rpl_semi_sync_slave_enabled=on ;  注意:在启动slave之前,如果你使用虚拟机克隆功能或者直接copy,要删除/var/lib/mysql/auto.cnf,否则会提示同步失败。
  启动slave,分别进入152和153的mysql执行:
mysql> start slave;
mysql> set global read_only=1;  在从库查看show slave status\G;
  Slave_IO_Running: Yes
Slave_SQL_Running: Yes
  看到以上两个字段带兵同步成功。
  在主库可以使用
  show global status like 'rpl_semi%';
  查看同步情况。
  以上mysql半同步配置基本完成。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657764-1-1.html 上篇帖子: keepalived配置lvs部分的状态检测 下篇帖子: 如何构建Keepalived+HAProxy实现高可用,负载均衡,动静分离。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表