大佬教程收集整理的这篇文章主要介绍了CentOS 7上部署MySQL-MMM高可用群集,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
关于MMM高可用架构的说明如下:
在整个监管过程中,需要在MysqL中添加相关授权用户,以便让MysqL可以支持监理机的维护。授权的用户包括@L_730_2@mmm_monitor用户和@L_730_2@mmm_agent用户,如果想使用MMM的备份工具则还要添加@L_730_2@mmm_tools用户。
@H_165_18@mMM高可用架构如图主机 | 操作系统 | IP地址 | VIP地址 | 角色 |
---|---|---|---|---|
MysqL-master1服务器 | CentOS 7.0 x86_64 | 192.168.10.157 | 192.168.10.200 | db1 |
MysqL-master2服务器 | CentOS 7.0 x86_64 | 192.168.10.161 | 192.168.10.200 | db2 |
MysqL-slave1服务器 | CentOS 7.0 x86_64 | 192.168.10.162 | 192.168.10.201 | db3 |
MysqL-slave2服务器 | CentOS 7.0 x86_64 | 192.168.10.163 | 192.168.10.202 | db4 |
MysqL-monitor | CentOS 7.0 x86_64 | 192.168.10.164 |
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo //使用阿里云数据源 yum clean all && yum makecache //清空原缓存生成新的缓存文件 yum -y install epel-release //安装epel-release源
yum -y install mariadb-server mariadb
vi /etc/my.cnf/
#将原本[MysqLd]里面的内容删除,添加如下内容 [MysqLd] log_error=/var/lib/MysqL/MysqL.err log=/var/lib/MysqL/MysqL_log.log log_slow_queries=/var/lib/MysqL_slow_queris.log binlog-ignore-db=MysqL,information_scheR_813_11845@a character_set_server=utf8 log_bin=MysqL_bin server_id=1 //注意每台数据库服务器的值都不一样 log_slave_updates=true sync_binlog=1 auto_increment_increment=2 auto_increment_offset=1
systemctl stop firewalld.service setenforce 0 systemctl start mariadb.service netstat -anpt | grep 3306
没有问题后,把配置文件复制到其它3台数据库服务器上并启动服务,这里注意一下配置文件中的server_id需要修改,每台服务器不一样,monitor暂时不用开启mariadb。
MysqL //进入数据库
show master status; //查看状态
grant Replication slave on *.* to ‘Replication‘@‘192.168.10.%‘ identified by ‘123456‘; //两台master都执行 change master to master_host=‘192.168.10.161‘,master_user=‘Replication‘,master_password=‘123456‘,master_log_file=‘MysqL_bin.000001‘,master_log_pos=245; //在master1上为master2授予从的权限,输入master2的IP地址,日志文件名,偏移量 change master to master_host=‘192.168.10.157‘,master_log_pos=245; //在master2上为master1授予从的权限,输入master1的IP地址,日志文件名,偏移量
start slave; show slave status\G;
create database xxy; //在master1创建xxy数据库 show databases; //到master2上可以查看到 drop database xxy; //在master1上删除xxy数据库 show databases; //在master1上删除后,master2上再次查看则没有xxy数据库了,则表示主主同步配置成功
change master to master_host=‘192.168.10.157‘,master_log_pos=245; //输入master1的IP地址,日志文件名,偏移量 start slave; //开启同步 show slave status\G; //查看同步状态,同主主同步一样,需要两个yes,缺一不可
yum -y install MysqL-mmm*
vim /etc/MysqL-mmm/mmm_common.conf
…… <host default> cluster_interface ens33 //网卡名称 …… Replication_user Replication //复制用户 Replication_password 123456 //复制用户密码 agent_user mmm_agent //代理用户 agent_password 123456 //代理用户密码 <host db1> ip 192.168.10.157 //master1 IP mode master peer db2 </host> <host db2> ip 192.168.10.161 //master2 IP mode master peer db1 </host> <host db3> ip 192.168.10.162 //slave1 IP mode slave </host> <host db4> ip 192.168.10.163 //slave2 IP mode slave </host> <role writer> hosts db1,db2 ips 192.168.10.200 //master虚拟IP mode exclusive </role> <role reader> hosts db3,db4 ips 192.168.10.201,192.168.10.202 //slave虚拟IP mode balanced </role>
#命令回车后输入yes再回车输入对方主机root密码 scp /etc/MysqL-mmm/mmm_common.conf [email protected]:/etc/MysqL-mmm/ //向master2传输 scp /etc/MysqL-mmm/mmm_common.conf [email protected]:/etc/MysqL-mmm/ //向slave1传输 scp /etc/MysqL-mmm/mmm_common.conf [email protected]:/etc/MysqL-mmm/ //向slave1传输 scp /etc/MysqL-mmm/mmm_common.conf [email protected]:/etc/MysqL-mmm/ //向monitor传输
cd /etc/MysqL-mmm/ vi mmm_mon.conf
…… ping_ips 192.168.10.157,192.168.10.161,192.168.10.162,192.168.10.163 //数据库服务器地址 auto_set_online 10 //自动上线时间10s ……
<host default> monitor_user mmm_monitor monitor_password 123456 //改密码 </host>
grant super,Replication client,process on *.* to ‘MMR_813_11845@_agent‘@‘192.168.10.%‘ identified by ‘123456‘;
grant Replication client on *.* to ‘MMR_813_11845@_monitor‘@‘192.168.10.%‘ identified by ‘123456‘;
flush privileges;
vi /etc/MysqL-mmm/mmm_agent.conf …… this db1 //根据开头表格规划进行逐一调整
systemctl enable MysqL-mmm-agent.service systemctl start MysqL-mmm-agent.service
systemctl start MysqL-mmm-monitor.service
#在master1上关闭数据库服务 systemctl stop mariadb.service #moniter上再次查看各节点情况 mmm_control show //查看各节点的情况
#在master1上开启数据库服务 systemctl start mariadb.service #moniter上再次查看各节点情况 mmm_control show //查看各节点的情况
#在slave1上关闭数据库服务 systemctl stop mariadb.service #moniter上再次查看各节点情况 mmm_control show //查看各节点的情况
systemctl start mariadb.service MysqL -utestdba -p -h 192.168.10.200 //master服务器的虚拟IP
登录上之后可进行创建数据库,数据表等操作,可在四台数据库服务器上查看到创建的信息,这里要知道moniter上写的信息记录在master1上(虚拟IP由哪台master接管,则记录在哪台master),其他数据库服务器上的数据都是同步的master1的数据。
以上是大佬教程为你收集整理的CentOS 7上部署MySQL-MMM高可用群集全部内容,希望文章能够帮你解决CentOS 7上部署MySQL-MMM高可用群集所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。