本文主要给大家介绍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> 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上
15上
启动管理节点主机上监控服务:mmm_mond
安装服务运行依赖的软件包 启动服务
5 验证mysql-mmm的配置
查看数据库节点上的数据库服务是运行的
在监控服务器本机登陆管理
[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:
设置4台数据库主机状态为online:
在数据节点本机查看是否获取到vi地址
客户端连接vip访问数据库服务
mysql> select @@hostname;
可通过对11,12,13,14的 stop mysqld服务来测试虚拟IP的变化
看了以上关于Mysql高可用集群讲义,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。