您好,登錄后才能下訂單哦!
本文主要給大家介紹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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。