Mysql-mmm集群部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql-mmm集群部署相关的知识,希望对你有一定的参考价值。

  90主 <----------> 91主

   |

   |

   |

  ------------------------------

   | |

   | |

   | |

  92从 93从    


systemctl stop firewalld.service ;systemctl disable firewalld.service ;setenforce 0



mysql-mmm

一、配置主从同步结构

1)配置主从同步

90: 用户配置 启用 binlog 日志 重启数据库服务 指定主数据库服务器信息

91: 用户配置 启用 binlog 日志 允许级联复制 重启数据库服务 指定主数据库服务器信息

[[email protected] ~]# vim /etc/my.cnf

[mysqld]

validate_password_policy=0

validate_password_length=6

server_id=91

log-bin=master91

binlog_format="mixed"

log_slave_updates


-> grant replication slave on *.* to [email protected]"%" identified by '123456';


-> change master to

-> master_host="主服务器 ip 地址",

-> master_user="授权用户名",

-> master_password="授权用户密码",

-> master_log_file="主服务器正在使用的 binlog 日志",

-> master_log_pos=主服务当前的偏移量;

#指定主服务器


2)配置一主多从结构

92: 指定server_id 重启数据库服务 指定主数据库服务器信息

93: 指定server_id 重启数据库服务 指定主数据库服务器信息


[[email protected] ~]# vim /etc/my.cnf

[mysqld]

validate_password_policy=0

validate_password_length=6

server_id=92


-> change master to

-> master_host="主服务器 ip 地址",

-> master_user="授权用户名",

-> master_password="授权用户密码",

-> master_log_file="主服务器正在使用的 binlog 日志",

-> master_log_pos=主服务当前的偏移量;

#指定主服务器


mysql> show master status\G;


mysql> start slave;


mysql> show slave status\G;


3)在客户端测试主从同步配置

a、 

在90主机上添加访问数据的用户guser,能够在其他3台主机上也有相同的授权用户

-> grant select  on gamedb.* to [email protected]'%' identified by '123456';


b、

在客户端主机94 使用授权用户guser 连接14服务器,产生的新数据在他3台主机上也有

-> select user,host from mysql.user where user="guser";


二、配置mysql-mmm

1)mysql-mmm 介绍 

监控服务: 运行在管理节点  用来监控数据节点

代理服务: 运行在数据节点  用来提供系统给监控主机


2)在所有主机上安装mysql-mmm软件(90-94)

#yum  -y  install   perl-*

#unzip  mysql-mmm.zip

#cd mysql-mmm

#make  install

#ls  /etc/mysql-mmm/*.conf


3)修改配置文件

a  修改数据节点代理服务配置文件  (90 91 92 93) 

vim  /etc/mysql-mmm/mmm_agent.conf

include  mmm_command.conf

this  自定义名称


b  修改管理节点监控服务的配置文件 (94)

vim /etc/mysql-mmm/mmm_mon.conf

>

include mmm_common.conf


<monitor>

        ip                      192.168.4.94 //本机IP

        pid_path                                /var/run/mmm_mond.pid

        bin_path                                /usr/lib/mysql-mmm/

        status_path                             /var/lib/misc/mmm_mond.status

        ping_ips        192.168.4.90, 192.168.4.91, 192.168.4.92, 192.168.4.93 //监控的服务器IP

</monitor>


<host default>

        monitor_user                    monitor //监控状态时使用的用户名

        monitor_password                123456 //监控状态时使用的用户密码

</host>

>


c 修改公共文件 

vim /etc/mysql-mmm/mmm_command.conf

>

active_master_role      writer



<host default>

        cluster_interface               eth0


        pid_path                                /var/run/mmm_agentd.pid

        bin_path                                /usr/lib/mysql-mmm/


    replication_user        slaveuser //设置主从同步的用户

    replication_password    123456 //设置主从同步用户密码


        agent_user              agent //控制数据库用户

        agent_password          123456 //控制数据库用户密码

</host>


<host db90> //设置第一个主服务器

        ip                              192.168.4.90

        mode                                    master

        peer                                    db91 //指定另外一台主服务器

</host>


<host db91> //设置第二台主服务器

        ip                              192.168.4.91

        mode                                    master

        peer                                    db90

</host>


<host db92> //设置从服务器

        ip                              192.168.4.92

        mode                                    slave

</host>


<host db93> //设置从服务器

        ip                              192.168.4.93

        mode                                    slave

</host>



<role writer> //指定主服务器VIP地址

        hosts                           db90, db91

        ips                             192.168.4.100

        mode                                    exclusive

</role>


<role reader> //指定从服务器VIP地址

        hosts                           db92, db93

        ips                             192.168.4.101, 192.168.0.102

        mode                                    balanced

</role>

>


d 根据配置文件的设置,在数据节点主机上添加对应授权用户

-> grant replication client on *.* to [email protected]'%' identified by '123456';

-> grant replication client,process,super on *.* to [email protected]'%' identified by '123456';

-> select  user,host from mysql.user where user in ("monitor","agent");


4)启动服务

a 启动数据节点主机上代理服务: mmm_agent

安装服务运行依赖的软件包   安装获取vip地址软件包arp_net   启动服务

[[email protected] ~]# /etc/init.d/mysql-mmm-agent start

[[email protected] ~]# netstat -pantu | grep 9989


b 启动管理节点主机上监控服务:mmm_mond

安装服务运行依赖的软件包    启动服务

[[email protected] ~]# /etc/init.d/mysql-mmm-monitor start

[[email protected] ~]# netstat -pantu | grep 9988


三、验证mysql-mmm配置

a 查看数据库节点上的数据库服务是运行的

[[email protected] ~]# systemctl status mysqld


b IO线程 和 SQL 线程都是Yes状态  

mysql> show slave status\G;


c 在监控服务器本机登录管理界面查看,查看数据库服务器的状态

[[email protected] ~]# mmm_control show

defined(@array) is deprecated at /usr/share/perl5/vendor_perl/Log/Log4perl/Config.pm line 863.

(Maybe you should just omit the defined()?)

  db90(192.168.4.90) master/AWAITING_RECOVERY. Roles: 

  db91(192.168.4.91) master/AWAITING_RECOVERY. Roles: 

  db92(192.168.4.92) slave/AWAITING_RECOVERY. Roles: 

  db93(192.168.4.93) slave/AWAITING_RECOVERY. Roles:


[[email protected] ~]# mmm_control set_online db90

[[email protected] ~]# mmm_control show

defined(@array) is deprecated at /usr/share/perl5/vendor_perl/Log/Log4perl/Config.pm line 863.

(Maybe you should just omit the defined()?)

  db90(192.168.4.90) master/ONLINE. Roles: writer(192.168.4.100)

  db91(192.168.4.91) master/ONLINE. Roles: 

  db92(192.168.4.92) slave/ONLINE. Roles: reader(192.168.0.102)

  db93(192.168.4.93) slave/ONLINE. Roles: reader(192.168.4.101)


[[email protected] ~]# mmm_control show

defined(@array) is deprecated at /usr/share/perl5/vendor_perl/Log/Log4perl/Config.pm line 863.

(Maybe you should just omit the defined()?)

  db90(192.168.4.90) master/ONLINE. Roles: writer(192.168.4.100)

  db91(192.168.4.91) master/HARD_OFFLINE. Roles: 

  db92(192.168.4.92) slave/ONLINE. Roles: reader(192.168.0.102)

  db93(192.168.4.93) slave/ONLINE. Roles: reader(192.168.4.101)


以上是关于Mysql-mmm集群部署的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL-MMM主从同步部署mysql高用集群

Mysql-mmm集群部署

部署mysql高可用集群(第三方软件 + 主从同步)mysql-mmm

DBA成长之路---MySQL-MMM集群部署

mysql5.6部署集群基础环境

mysql 集群 监控