banner
至网云加速

至网云加速的部落客

官网|www.zcdn.hk

Mysql 主從同步,讀寫分離,中介軟體使用記錄

-- 本文將介紹如何配置 Mysql 主從同步和讀寫分離,並使用中間件 ProxySQL 來實現更高效的資料庫訪問。

伺服器資訊#

Mysql

主伺服器(A):192.168.1.1
備份伺服器(B):192.168.1.2
備份伺服器(C):192.168.1.3
中間件

中間件伺服器(D):192.168.1.4

Mysql 主從同步,讀寫分離配置#

主資料庫配置#

在主伺服器(A)上執行以下命令:
`# 建立從伺服器訪問帳號
grant replication slave on . to 'slave'@'%' identified by '123456';

查看主伺服器狀態
mysql> show master status;
+------------------+-----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+-----------+--------------+------------------+-------------------+
| mysql-bin.000006 | 438 | | | |
+------------------+-----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
`

從伺服器配置#

在從伺服器上執行以下命令:

停止從伺服器#

stop slave;

配置主伺服器資訊#

change master to master_host='192.168.1.1', master_user='slave', master_password='123456', master_log_file='mysql-bin.000006', master_log_pos=438;

啟動從伺服器

start slave;

查看從伺服器狀態

show slave status\G;

如果從伺服器狀態顯示如下內容,則表示啟動成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

ProxySQL 配置#

安裝
前往 [https://github.com/sysown/proxysql/releases] 下載 ProxySQL 安裝包。
將安裝包上傳到伺服器,並執行以下命令進行安裝:

yum -y localinstall proxysql-2.5.5-1-centos7.x86_64.rpm

驗證安裝狀態#

執行以下命令驗證 ProxySQL 安裝狀態:

proxysql -V
ProxySQL version 2.5.5-10-g195bd70, codename Truls

啟動服務#

執行以下命令啟動 ProxySQL 服務:

systemctl start proxysql.service

進入 ProxySQL 本地伺服器#

執行以下命令進入 ProxySQL 本地伺服器:

mysql -uadmin -padmin -h127.0.0.1 -P6032 --prompt='Admin> ' --default-auth=mysql_native_password

添加主從伺服器#

在 ProxySQL 本地伺服器中執行以下命令,添加主從伺服器:

insert into mysql_servers(hostgroup_id, hostname, port, weight, comment) values(1, '192.168.1.1', 3306, 1, ' 主庫 ');
insert into mysql_servers(hostgroup_id, hostname, port, weight, comment) values(2, '192.168.1.2', 3306, 5, ' 從庫 1 ');
insert into mysql_servers(hostgroup_id, hostname, port, weight, comment) values(2, '192.168.1.3', 3306, 5, ' 從庫 2 ');

添加主從帳號(ProxySQL)#

在 ProxySQL 本地伺服器中執行以下命令,添加主從帳號:

insert into mysql_users(username, password, default_hostgroup, transaction_persistent) values('proxysql', '123456', 1, 1);

添加規則路由#

在 ProxySQL 本地伺服器中執行以下命令,添加規則路由:

insert into mysql_query_rules(rule_id, active, match_pattern, destination_hostgroup, log, apply) values(1, 1, '^UPDATE', 1, 1, 1);
insert into mysql_query_rules(rule_id, active, match_pattern, destination_hostgroup, log, apply) values(2, 1, '^SELECT', 2, 1, 1);

查詢連接狀態和命中情況#

在 ProxySQL 本地伺服器中執行以下命令,查詢連接狀態和命中情況:

SELECT * FROM monitor.mysql_server_connect_log ORDER BY time_start_us DESC LIMIT 10;
select * from stats_mysql_query_rules;
select * from stats_mysql_query_digest;

通過以上配置和命令,您可以實現 Mysql 主從同步和讀寫分離,並使用 ProxySQL 中間件來優化資料庫訪問。其他使用者可以從這篇文章中學習並了解如何配置和使用這些功能。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。