千家信息网

mysql-mmm操作总结

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,五台虚拟机双网卡 第一块内网,第二块外网80.100 主数据库180.101 主数据库280.102 从数据库180.103 从数据库280.104 监控端 monitor搭
千家信息网最后更新 2025年02月05日mysql-mmm操作总结
五台虚拟机双网卡   第一块内网,第二块外网80.100   主数据库180.101   主数据库280.102   从数据库180.103   从数据库280.104    监控端 monitor
搭建阿里云yum仓库:vi /etc/yum.repos.d/ali.repo[Ali]name=CentOS-$releasever - Basebaseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

scp /etc/yum.repos.d/ali.repo  root@192.168.80.101:/etc/yum.repos.d/scp /etc/yum.repos.d/ali.repo  root@192.168.80.102:/etc/yum.repos.d/scp /etc/yum.repos.d/ali.repo  root@192.168.80.103:/etc/yum.repos.d/scp /etc/yum.repos.d/ali.repo  root@192.168.80.104:/etc/yum.repos.d/


注:如果有ip地址,关了网卡ping不通网页修改以下内容

vi /etc/sysconfig/network-scripts/ifcfg-ens32      //进入网卡配置文件

把圈中的命令删掉在使用下一条命令systemctl   restart network    //重启网卡
四台服务器安装以下程序:systemctl stop firewalld      //关闭防火墙setenforce 0         //关闭监控[root@lq5 yum.repos.d]# ifconfig ens34 down     //关闭ens34网卡[root@lq5 yum.repos.d]# ifconfig ens34 up          //开启ens34网卡yum install -y wgetwget -O /etc/yum.repos.d/ali.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum -y install epel-releaseyum clean all && yum makecacheyum -y install mariadb-server mariadbyum install mariadb-server -y

在主服务器上

[root@NGINX ~]# systemctl start mariadb
[root@NGINX ~]# vi /etc/my.cnf[mysqld]log_error=/var/lib/mysql/mysql.errlog=/var/lib/mysql/mysql_log.loglog_slow_queries=/var/lib/mysql_slow_queris.logbinlog-ignore-db=mysql,information_schemacharacter_set_server=utf8log_bin=mysql_binserver_id=1log_slave_updatessync_binlog=1auto_increment_increment=2auto_increment_offset=1

[root@NGINX ~]#  service mariadb restart[root@NGINX ~]# netstat -anpt | grep 3306

-------没有问题后,把配置文件复制到其它3台数据库服务器上并启动服务器-----

[root@NGINX ~]# scp /etc/my.cnf root@192.168.80.101:/etc/[root@NGINX ~]# scp /etc/my.cnf root@192.168.80.102:/etc/[root@NGINX ~]# scp /etc/my.cnf root@192.168.80.103:/etc/
[root@NGINX ~]# mysql -u root

MariaDB [(none)]> grant replication slave on *.* to 'replication'@'192.168.80.%' identified by '123456';MariaDB [(none)]> flush privileges;MariaDB [(none)]> show master status \G

在从服务器上:

[root@test ~]# vi /etc/my.cnf

修改一下Server-id ,其他从服务器也要修改

[root@test ~]# service mariadb restart[root@test ~]# mysql -u rootMariaDB [(none)]> grant replication slave on *.* to 'replication'@'192.168.80.%' identified by '123456';MariaDB [(none)]> change master to master_host='192.168.80.100',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=490;MariaDB [(none)]> start slave;MariaDB [(none)]> show slave status \G

MariaDB [(none)]> show master status \G


在主服务器中:

MariaDB [(none)]> change master to master_host='192.168.80.101',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=410;MariaDB [(none)]> start slave;MariaDB [(none)]> show slave status \G


在从服务器1上:

vi /etc/my.cnf

[root@NGINX ~]#  service mariadb restart[root@NGINX ~]# netstat -anpt | grep 3306

mysql -u root

MariaDB [(none)]> change master to master_host='192.168.80.100',master_user='replication',master_password='123456',master_log_file='mysql_bin.000001',master_log_pos=490;MariaDB [(none)]> start slave;MariaDB [(none)]> show slave status \G

在从服务器2上:

[root@test ~]# vi /etc/my.cnf

修改一下Server-id ,其他从服务器也要修改

[root@NGINX ~]#  service mariadb restart[root@NGINX ~]# netstat -anpt | grep 3306

mysql -u root

MariaDB [(none)]> change master to master_host='192.168.80.100',master_user='replication',master_password='123456',master_log_file='mysql_bin.000001',master_log_pos=490;MariaDB [(none)]> start slave;MariaDB [(none)]> show slave status \G

测试:在主备服务器上创建一个空库:MariaDB [(none)]> create database aa;MariaDB [(none)]> show databases;

在从服务器上1上:


在从服务器2上:

到此,主主备份主从同步成功现在做对mmm进行配置-------安装MMM----在所有服务器上安装-----注意,epel源要配置好yum -y install mysql-mmm*-------安装结束后,对mmm进行配置------

在主服务器上:

[root@NGINX ~]# cd /etc/mysql-mmm/[root@NGINX mysql-mmm]# ls

[root@NGINX mysql-mmm]# vi mmm_common.conf

修改以下圈住部分:

发送给其他数据库服务器 scp mmm_common.conf root@192.168.80.101:/etc/mysql-mmm/ scp mmm_common.conf root@192.168.80.102:/etc/mysql-mmm/ scp mmm_common.conf root@192.168.80.103:/etc/mysql-mmm/  scp mmm_common.conf root@192.168.80.104:/etc/mysql-mmm/

在monitor服务器上配置:

[root@MYSQL ~]# cd /etc/mysql-mmm/[root@MYSQL mysql-mmm]# vi mmm_mon.conf

在其它mysql服务器上:
[root@NGINX mysql-mmm]# vi /etc/mysql-mmm/mmm_agent.conf

主数据库1:this db1主数据库2:this db2从数据库1:this db3从数据库2:this db4monitor服务器:this db5

是在各自的配置文件修改,不是在一个虚拟机,每个虚拟机都要执行的操作。

在四台数据库中为mmm_agent授权grant super, replication client, process on *.* to 'mmm_agent'@'192.168.80.%' identified by '123';grant replication client on *.* to 'mmm_monitor'@'192.168.80.%' identified by '123';systemctl start mysql-mmm-agent

在monitor服务器上配置:

[root@MYSQL mysql-mmm]# vi mmm_mon.conf

systemctl start mysql-mmm-monitor //启动mysql-mmm-monitornetstat -anp | grep 9988

mmm_control checks all

mmm_control show

查看是否有漂移地址
主数据库1

从数据库1

从数据库2

模拟主数据库1,从数据库1故障,查看漂移地址是否从主数据库1漂移到主数据库2,和从数据库1的地址漂移到从数据库2上去
主数据库1
systemctl stop mariadb
主数据库2

从数据库1
systemctl stop mariadb
从数据库2

0