中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

部署數據庫的高可用集群和性能調優

發布時間:2020-05-11 06:26:54 來源:網絡 閱讀:479 作者:Erstickt 欄目:MySQL數據庫

IP規劃
角色                  IP地址       主機名
Master 數據庫服務器         192.168.4.51      master51
備用 1 master 數據庫服務器      192.168.4.52      master52
備用 2 master 數據庫服務器      192.168.4.53      master53
第 1 臺 slave 服務器         192.168.4.54      slave54
第 2 臺 slave 服務器         192.168.4.55      slave55
Mha_manager 服務器         192.168.4.56       mgm56
VIP 地址 192.168.4.100

一、配置所有數據節點主機之間可以互相以ssh密鑰對方式認證登陸
二、配置manager56主機 無密碼ssh登錄 所有數據節點主機
三、配置主從同步,要求如下:
51 主庫 開半同步復制
52 從庫(備用主庫) 開半同步復制
53 從庫(備用主庫) 開半同步復制
54 從庫 不做備用主庫所以不用開半同步復制
55 從庫 不做備用主庫所以不用開半同步復制

3.1、master51配置:
vim /etc/my.cnf
[mysqld]
plugin-load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
rpl-semi-sync-master-enabled = 1
rpl-semi-sync-slave-enabled = 1

server_id=51
log-bin=master51
binlog-format="mixed"
:wq

[root@host51~]# systemctl restart mysqld

[root@host51 ~]# ls /var/lib/mysql/master51.*
/var/lib/mysql/master51.000001 /var/lib/mysql/master51.index

[root@host51 ~]# mysql -uroot -p123456
mysql> grant replication slave on . to repluser@"%" identified by "123456";
Query OK, 0 rows affected, 1 warning (10.04 sec)

mysql> set global relay_log_purge=off;
Query OK, 0 rows affected (0.15 sec)

mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| master51.000001 | 441 | | | |
+-----------------+----------+--------------+------------------+-------------------+
mysql> quit;

3.2、備用master52的配置
vim /etc/my.cnf
[mysqld]
plugin-load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
rpl-semi-sync-master-enabled = 1
rpl-semi-sync-slave-enabled = 1

server_id=52
log-bin=master52
binlog-format="mixed"

]# systemctl restart mysqld
[root@host52~]# ls /var/lib/mysql/master52.*
/var/lib/mysql/master52.000001 /var/lib/mysql/master52.index

[root@host52 ~]# mysql -uroot -p123456

mysql> set global relay_log_purge=off;
Query OK, 0 rows affected (0.13 sec)

mysql> change master to
-> master_host="192.168.4.51",
-> master_user="repluser",
-> master_password="123456",
-> master_log_file="master51.000001",
-> master_log_pos=441;
Query OK, 0 rows affected, 2 warnings (0.04 sec)

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

[root@host52 ~]# mysql -uroot -p123456 -e "show slave status\G" | grep -i YES
mysql: [Warning] Using a password on the command line interface can be insecure.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
[root@host52 ~]#

3.3、備用master53的配置
]# vim /etc/my.cnf
[mysqld]
plugin-load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
rpl-semi-sync-master-enabled = 1
rpl-semi-sync-slave-enabled = 1

server_id=53
log-bin=master53
binlog-format="mixed"
:wq

[root@host53 ~]# systemctl restart mysqld
[root@host53 ~]# ls /var/lib/mysql/master53.*
/var/lib/mysql/master53.000001 /var/lib/mysql/master53.index
[root@host53 ~]#

[root@host53 ~]# mysql -uroot -p123456
mysql> set global relay_log_purge=off;
Query OK, 0 rows affected (0.14 sec)

mysql> change master to master_host="192.168.36.51",master_user="repluser",master_password="123456",master_log_file="master51.000001",master_log_pos=441;
Query OK, 0 rows affected, 2 warnings (0.05 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql>

[root@host53 ~]# mysql -uroot -p123456 -e "show slave status\G" | grep -i yes
mysql: [Warning] Using a password on the command line interface can be insecure.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

3.4、配置從服務器54
[root@host54 ~]# vim /etc/my.cnf
[mysqld]
server_id=54
:wq

[root@host54~]# systemctl restart mysqld
[root@host54 ~]# mysql -uroot -p123456
mysql> change master to master_host="192.168.36.51",master_user="repluser",master_password="123456",master_log_file="master51.000001",master_log_pos=441;
Query OK, 0 rows affected, 2 warnings (0.09 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye
[root@host54 ~]#
[root@host54 ~]# mysql -uroot -p123456 -e "show slave status\G" | grep -i yes
mysql: [Warning] Using a password on the command line interface can be insecure.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

3.5、配置從服務器55
[root@host55 ~]# vim /etc/my.cnf
[mysqld]
server_id=55
:wq

[root@db111 ~]# systemctl restart mysqld
[root@db111 ~]# mysql -uroot -p123456
mysql> change master to master_host="192.168.36.51",master_user="repluser",master_password="123456",master_log_file="master51.000001",master_log_pos=441;
Query OK, 0 rows affected, 2 warnings (0.09 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye
[root@host55 ~]#
[root@host55 ~]# mysql -uroot -p123456 -e "show slave status\G" | grep -i yes
mysql: [Warning] Using a password on the command line interface can be insecure.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
[root@host55~]#

3.6、在客戶端測試主從同步配置
3.6.1 在主庫51上添加訪問數據的授權用戶
[root@host51~]# mysql -uroot -p123456
mysql> grant all on gamedb.* to admin@"%" identified by "123456";

3.6.2 在客戶端主機連接主庫51 建庫表記錄
mysql> create database gamedb;
Query OK, 1 row affected (0.01 sec)

mysql> create table gamedb.t1 (id int);
Query OK, 0 rows affected (0.04 sec)

mysql> insert into gamedb.t1 values(999);
Query OK, 1 row affected (0.15 sec)

mysql> insert into gamedb.t1 values(999);
Query OK, 1 row affected (0.05 sec)

mysql> select * from gamedb.t1;
+------+
| id |
+------+
| 999 |
| 999 |
+------+
2 rows in set (0.00 sec)

mysql>

3.6.3 在客戶端使用授權用戶連接從庫52-55,也能看到同樣的庫表及記錄

#mysql -h從庫IP地址 -uadmin -p123456
mysql> select * from gamedb.t1;
+------+
| id |
+------+
| 999 |
| 999 |
+------+
4.0.1下來我們配置代理服務器
配置MHA集群
安裝軟件包:
在所有主機上安裝perl軟件包 (51~56)
在所有主機上安裝mha_node軟件包 (51~56)
只在管理主機上安裝mha_manager軟件包(56)
檢查配置環境
拷貝命令(56)
創建工作目錄 和主配置文件 (56)
創建故障切換腳本(56)
編輯主配置文件 app1.cnf
驗證配置
驗證ssh 免密碼登錄 數據節點主機
驗證 數據節點的主從同步配置

編輯管理主機主配置文件
]# cp mha4mysql-manager-0.56/bin/* /usr/local/bin/
]#mkdir /etc/mha_manager/
[root@host56 mha4mysql-manager-0.56]# cp samples/conf/app1.cnf /etc/mha_manager/
]#vim /etc/mha_manager/app1.cnf

[server default]
manager_workdir=/etc/mha_manager
manager_log=/etc/mha_manager/manager.log
master_ip_failover_script=/usr/local/bin/master_ip_failover


[root@host56 ~]# cd mha4mysql-manager-0.56/samples/scripts/
[root@host56 scripts]# ls
master_ip_failover master_ip_online_change power_manager send_report
[root@host56 scripts]# cp master_ip_failover /usr/local/bin/
]# vim /usr/local/bin/master_ip_failover
my $vip = '192.168.4.100/24'; # Virtual IP
my $key = "1";
my $ssh_start_vip = "/sbin/ifconfig eth0:$key $vip";
my $ssh_stop_vip = "/sbin/ifconfig eth0:$key down";
:wq
)             修改腳本文件

ssh_user=root
ssh_port=22

repl_user=repluser
repl_password=123456

user=root
password=123456

[server1]
hostname=192.168.36.51
port=3306
candidate_master=1

[server2]
hostname=192.168.36.52
port=3306
candidate_master=1

[server3]
hostname=192.168.36.53
port=3306
candidate_master=1

[server4]
hostname=192.168.36.54
port=3306
no_master=1

[server5]
hostname=192.168.36.55
port=3306
no_master=1
:wq

測試SSH

[root@host56 ~]# masterha_check_ssh --conf /etc/mha_manager/app1.cnf
All SSH connection tests passed successfully.

測試主從同步
[root@host56 mhasoft]# masterha_check_repl --conf /etc/mha_manager/app1.cnf

啟動管理服務,并查看服務狀態
]# masterha_manager --conf=/etc/mha_manager/app1.cnf --ignore_last_failover

另開終端 
在管理主機上查看服務狀態
[root@host56 ~]# masterha_check_status --conf=/etc/mha_manager/app1.cnf

把51 宕掉后  看看 是不是52 是不是主庫 
 但是 51 好了需手動配置成 52 的從

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博野县| 宁晋县| 成都市| 陈巴尔虎旗| 无极县| 米泉市| 巴马| 昆明市| 博罗县| 洞口县| 龙井市| 玉林市| 洮南市| 安新县| 英德市| 杭锦旗| 广汉市| 介休市| 汶川县| 河北区| 遂溪县| 剑河县| 清苑县| 临清市| 神农架林区| 法库县| 密山市| 开封市| 项城市| 山东省| 四会市| 乳山市| 虎林市| 且末县| 高台县| 昭苏县| 伊宁市| 治县。| 行唐县| 临西县| 英德市|