您好,登錄后才能下訂單哦!
90主 <----------> 91主
|
|
|
------------------------------
| |
| |
| |
92從 93從
systemctl stop firewalld.service ;systemctl disable firewalld.service ;setenforce 0
MySQL-mmm
一、配置主從同步結(jié)構(gòu)
1)配置主從同步
90: 用戶配置 啟用 binlog 日志 重啟數(shù)據(jù)庫服務(wù) 指定主數(shù)據(jù)庫服務(wù)器信息
91: 用戶配置 啟用 binlog 日志 允許級聯(lián)復(fù)制 重啟數(shù)據(jù)庫服務(wù) 指定主數(shù)據(jù)庫服務(wù)器信息
[root@pc91 ~]# 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 slaveuser@"%" identified by '123456';
-> change master to
-> master_host="主服務(wù)器 ip 地址",
-> master_user="授權(quán)用戶名",
-> master_password="授權(quán)用戶密碼",
-> master_log_file="主服務(wù)器正在使用的 binlog 日志",
-> master_log_pos=主服務(wù)當(dāng)前的偏移量;
#指定主服務(wù)器
2)配置一主多從結(jié)構(gòu)
92: 指定server_id 重啟數(shù)據(jù)庫服務(wù) 指定主數(shù)據(jù)庫服務(wù)器信息
93: 指定server_id 重啟數(shù)據(jù)庫服務(wù) 指定主數(shù)據(jù)庫服務(wù)器信息
[root@pc92 ~]# vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
server_id=92
-> change master to
-> master_host="主服務(wù)器 ip 地址",
-> master_user="授權(quán)用戶名",
-> master_password="授權(quán)用戶密碼",
-> master_log_file="主服務(wù)器正在使用的 binlog 日志",
-> master_log_pos=主服務(wù)當(dāng)前的偏移量;
#指定主服務(wù)器
mysql> show master status\G;
mysql> start slave;
mysql> show slave status\G;
3)在客戶端測試主從同步配置
a、
在90主機(jī)上添加訪問數(shù)據(jù)的用戶guser,能夠在其他3臺(tái)主機(jī)上也有相同的授權(quán)用戶
-> grant select on gamedb.* to guser@'%' identified by '123456';
b、
在客戶端主機(jī)94 使用授權(quán)用戶guser 連接14服務(wù)器,產(chǎn)生的新數(shù)據(jù)在他3臺(tái)主機(jī)上也有
-> select user,host from mysql.user where user="guser";
二、配置mysql-mmm
1)mysql-mmm 介紹
監(jiān)控服務(wù): 運(yùn)行在管理節(jié)點(diǎn) 用來監(jiān)控?cái)?shù)據(jù)節(jié)點(diǎn)
代理服務(wù): 運(yùn)行在數(shù)據(jù)節(jié)點(diǎn) 用來提供系統(tǒng)給監(jiān)控主機(jī)
2)在所有主機(jī)上安裝mysql-mmm軟件(90-94)
#yum -y install perl-*
#unzip mysql-mmm.zip
#cd mysql-mmm
#make install
#ls /etc/mysql-mmm/*.conf
3)修改配置文件
a 修改數(shù)據(jù)節(jié)點(diǎn)代理服務(wù)配置文件 (90 91 92 93)
vim /etc/mysql-mmm/mmm_agent.conf
include mmm_command.conf
this 自定義名稱
b 修改管理節(jié)點(diǎn)監(jiān)控服務(wù)的配置文件 (94)
vim /etc/mysql-mmm/mmm_mon.conf
>
include mmm_common.conf
<monitor>
ip 192.168.4.94 //本機(jī)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 //監(jiān)控的服務(wù)器IP
</monitor>
<host default>
monitor_user monitor //監(jiān)控狀態(tài)時(shí)使用的用戶名
monitor_password 123456 //監(jiān)控狀態(tài)時(shí)使用的用戶密碼
</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 //設(shè)置主從同步的用戶
replication_password 123456 //設(shè)置主從同步用戶密碼
agent_user agent //控制數(shù)據(jù)庫用戶
agent_password 123456 //控制數(shù)據(jù)庫用戶密碼
</host>
<host db90> //設(shè)置第一個(gè)主服務(wù)器
ip 192.168.4.90
mode master
peer db91 //指定另外一臺(tái)主服務(wù)器
</host>
<host db91> //設(shè)置第二臺(tái)主服務(wù)器
ip 192.168.4.91
mode master
peer db90
</host>
<host db92> //設(shè)置從服務(wù)器
ip 192.168.4.92
mode slave
</host>
<host db93> //設(shè)置從服務(wù)器
ip 192.168.4.93
mode slave
</host>
<role writer> //指定主服務(wù)器VIP地址
hosts db90, db91
ips 192.168.4.100
mode exclusive
</role>
<role reader> //指定從服務(wù)器VIP地址
hosts db92, db93
ips 192.168.4.101, 192.168.0.102
mode balanced
</role>
>
d 根據(jù)配置文件的設(shè)置,在數(shù)據(jù)節(jié)點(diǎn)主機(jī)上添加對應(yīng)授權(quán)用戶
-> 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 in ("monitor","agent");
4)啟動(dòng)服務(wù)
a 啟動(dòng)數(shù)據(jù)節(jié)點(diǎn)主機(jī)上代理服務(wù): mmm_agent
安裝服務(wù)運(yùn)行依賴的軟件包 安裝獲取vip地址軟件包arp_net 啟動(dòng)服務(wù)
[root@pc90 ~]# /etc/init.d/mysql-mmm-agent start
[root@pc90 ~]# netstat -pantu | grep 9989
b 啟動(dòng)管理節(jié)點(diǎn)主機(jī)上監(jiān)控服務(wù):mmm_mond
安裝服務(wù)運(yùn)行依賴的軟件包 啟動(dòng)服務(wù)
[root@pc94 ~]# /etc/init.d/mysql-mmm-monitor start
[root@pc94 ~]# netstat -pantu | grep 9988
三、驗(yàn)證mysql-mmm配置
a 查看數(shù)據(jù)庫節(jié)點(diǎn)上的數(shù)據(jù)庫服務(wù)是運(yùn)行的
[root@pc94 ~]# systemctl status mysqld
b IO線程 和 SQL 線程都是Yes狀態(tài)
mysql> show slave status\G;
c 在監(jiān)控服務(wù)器本機(jī)登錄管理界面查看,查看數(shù)據(jù)庫服務(wù)器的狀態(tài)
[root@pc94 ~]# 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:
[root@pc94 ~]# mmm_control set_online db90
[root@pc94 ~]# 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)
[root@pc94 ~]# 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)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。