温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Mysql高可用集群讲义

发布时间:2020-04-24 15:25:46 来源:亿速云 阅读:304 作者:三月 栏目:MySQL数据库

本文主要给大家介绍Mysql高可用集群讲义,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在亿速云行业资讯里面关注我的更新文章的。

mysql高可用集群(mysql-mmm + 主从同步)
主14  <-----> 主13

        从11       从12

环境:
192.168.4.13与192.168.4.14互为主从
192.168.4.11与192.168.4.12为192.168.4.13的从云服务器
一、配置主从同步

1、对14/13进行主从同步配置
14
1 添加授权用户
mysql> grant replication slave on . to slaveuser@"%" identified by "123456";

2 启用binlog日志
#vim /etc/my,cnf
log-bin=master14
server_id=14
binlog_format="mixed"

3 重启数据库服务
#systemctl stop mysqld
#systemctl start mysqld

4 查看日志信息
mysql> show master status

5 使用本机的数据库管理员登陆,指定主库信息

Mysql高可用集群讲义mysql> change master to master_host="192.168.4.13",
-> master_user="slaveuser",
-> master_password="123456",
-> master_log_file="master13.000001",
-> master_log_pos=154;
mysql> start slave
mysql> show slave status\G
++++++++++++++++++++++++++++++++++++++++++++++++++
13
1 添加授权用户
mysql> grant replication slave on . to slaveuser@"%" identified by "123456";

2 启用binlog日志
#vim /etc/my,cnf
log-bin=master13
server_id=13
binlog_format="mixed"
log_slave_updates

3 重启数据库服务
#systemctl stop mysqld
#systemctl start mysqld

4 查看日志信息
mysql> show master status

5 使用本机的数据库管理员登陆,指定主库信息
mysql> change master to master_host="192.168.4.14",
-> master_user="slaveuser",
-> master_password="123456",
-> master_log_file="master13.000001",
-> master_log_pos=154;
mysql> start slave
mysql> show slave status\G
++++++++++++++++++++++++++++++++++++++++++
将11,12配置为13的从服务器
11
指定server_id
#vim /etc/my.cnf
server_id=11
重启数据库服务
#systemctl stop mysqld
#systemctl start mysqld
使用本机的数据库管理员登陆,指定主库信息
mysql> change master to master_host="192.168.4.13",
-> master_user="slaveuser",
-> master_password="123456",
-> master_log_file="master13.000001",
-> master_log_pos=154;
mysql> start slave
mysql> show slave status\G
++++++++++++++++++++++++++++++++++++++++++++++
12
指定server_id
#vim /etc/my.cnf
server_id=12
重启数据库服务
#systemctl stop mysqld
#systemctl start mysqld
使用本机的数据库管理员登陆,指定主库信息
mysql> change master to master_host="192.168.4.13",
-> master_user="slaveuser",
-> master_password="123456",
-> master_log_file="master13.000001",
-> master_log_pos=154;
mysql> start slave
mysql> show slave status\G
++++++++++++++++++++++++++++++++++++++++
在客户端测试
在14主机上添加访问数据的用户guser,其他3台主机上也有相同的授权用户。
mysql> create database gamedb;
mysql> grant all on gamedb. to guser@"%" identified by "123456";
mysql> select user,host from mysql.user
在客户端主机使用授权用户guser连接14服务器,产生的新数据在其他3台主机上也有
mysql -h"192.168.4.14" -uguser -p123456
select @@hostname;      查看当前访问的服务器名
########################################################
二、配置mysql-mmm
1 mysql-mmm介绍
监控服务:运行在管理节点,用来监控数据节点
代理服务:运行在数据节点,用来提供系统给监控主机
2 在所有主机上安装mysql-mmm软件
unzip mysql-mmm.zip
cd mysql-mmm
tar -zxvf mysql-mmm-2.2.1.tar.gz
cd mysql-mmm-2.2.1/
make install
ls /etc/mysql-mmm/
.conf

3 修改配置文件
修改数据节点代理服务配置文件(修改11,12,13,14)
vim //etc/mysql-mmm/mmm_agent.conf
include mmm_common.conf
this db11       //自定义名字

修改管理节点监控服务的配置文件(修改15)
vim /etc/mysql-mmm/mmm_mon.conf
include mmm_common.conf

<monitor>
ip          192.168.4.15
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.11, 192.168.4.12, 192.168.4.13, 192.168.4.14
</monitor>

<host default>
monitor_user                    monitor
monitor_password                123456
</host>

debug 0

修改公共文件
在11上
vim /etc/mysql-mmm/mmm_common.conf
1 active_master_role      writer
2
3
4 <host default>
5         cluster_interface               eth0
6
7         pid_path                                /var/run/mmm_agentd.pid
8         bin_path                                /usr/lib/mysql-mmm/
9
10     replication_user       slaveuser
11     replication_password   123456
12
13         agent_user         agent
14         agent_password     123456
15 </host>
16
17 <host db14>
18         ip              192.168.4.14
19         mode            master
20         peer            db13
21 </host>
22
23 <host db13>
24         ip              192.168.4.13
25         mode            master
26         peer            db14
27 </host>
28
29 <host db12>
30         ip              192.168.4.12
31         mode            slave
32 </host>
33
34 <host db11>
35         ip              192.168.4.11
36         mode            slave
37 </host>
38
39 <role writer>
40         hosts           db13, db14
41         ips             192.168.4.100
42         mode            exclusive
43 </role>
44
45 <role reader>
46         hosts           db11, db12
47         ips             192.168.4.101, 192.168.4.102
48         mode            balanced
49 </role>
scp /etc/mysql-mmm/mmm_common.conf 192.168.4.15:/etc/mysql-mmm/(将公共文件拷贝到12,13,14,15)

根据配置文件的设置,在数据节点主机上添加对应授权用户
grant replication client on . to monitor@"%" identified by "123456";
grant replication client,process,super on . to agent@"%" identified by "123456";
select user,host from mysql.user where user="agent" or user="monitor";
4 启动服务
启动数据节点主机上代理服务:mmm_agent
安装服务运行依赖的软件包   安装获取vip地址如那金宝   启动服务
在11--14上

tar -zxf Algorithm-Diff-1.1902.tar.gz

cd Algorithm-Diff-1.1902/

perl Makefile.PL

make

make install

tar -zxf Proc-Daemon-0.03.tar.gz

cd Proc-Daemon-0.03/

perl Makefile.PL

make

make install

rpm -ivh --nodeps perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm

/etc/init.d/mysql-mmm-agent start

/etc/init.d/mysql-mmm-agent status

netstat -untlap | grep mmm

netstat -untlap | grep :9989

yum -y install gcc gcc-c++

gunzip Net-ARP-1.0.8.tgz

tar -xf Net-ARP-1.0.8.tar

cd Net-ARP-1.0.8/

perl Makefile.PL

make

make install

15上

tar -zxf Algorithm-Diff-1.1902.tar.gz

cd Algorithm-Diff-1.1902/

perl Makefile.PL

make

make install

tar -zxf Proc-Daemon-0.03.tar.gz

cd Proc-Daemon-0.03/

perl Makefile.PL

make

make install

rpm -ivh --nodeps perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm

启动管理节点主机上监控服务:mmm_mond
安装服务运行依赖的软件包  启动服务

/etc/init.d/mysql-mmm-monitor status

/etc/init.d/mysql-mmm-monitor start

netstat -untalp | grep :9988

ls /var/log/mysql-mmm/

vim /var/log/mysql-mmm/mmm_mond.log

5 验证mysql-mmm的配置
查看数据库节点上的数据库服务是运行的

systemctl status mysqld

mysql -uroot -p123456 -e "show slave status\G"| grep -i YES

在监控服务器本机登陆管理
[root@mysql15 ~]# mmm_control show    查看状态
(Maybe you should just omit the defined()?)
db11(192.168.4.11) slave/AWAITING_RECOVERY. Roles:
db12(192.168.4.12) slave/AWAITING_RECOVERY. Roles:
db13(192.168.4.13) master/AWAITING_RECOVERY. Roles:
db14(192.168.4.14) master/AWAITING_RECOVERY. Roles:

mmm_control set_online 主机名       设置主机为online状态

mmm_control set_offline 主机名      设置主机为offline状态

设置4台数据库主机状态为online:

mmm_control set_online db11

mmm_control set_online db12

mmm_control set_online db13

mmm_control set_online db14

mmm_control show

在数据节点本机查看是否获取到vi地址

ip addr show | grep 192.168.4.100

客户端连接vip访问数据库服务

mysql -h292.168.4.100 -uguser -p123456

mysql> select @@hostname;
可通过对11,12,13,14的 stop mysqld服务来测试虚拟IP的变化

看了以上关于Mysql高可用集群讲义,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI