最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL讀寫(xiě)分離部署實(shí)踐

 更新時(shí)間:2026年01月27日 10:30:15   作者:楊了個(gè)楊8982  
文章介紹了如何配置和使用ProxySQL進(jìn)行MySQL主從復(fù)制集群的部署,包括環(huán)境準(zhǔn)備、安裝ProxySQL、配置主從服務(wù)器、設(shè)置讀寫(xiě)分離、用戶認(rèn)證、監(jiān)控和性能優(yōu)化等步驟

1.環(huán)境準(zhǔn)備

配置主從復(fù)制的 MySQL 集群(1 主多從)Mysql主從復(fù)制部署

開(kāi)放必要的網(wǎng)絡(luò)端口:

  • ProxySQL 默認(rèn)監(jiān)聽(tīng)端口:6032(管理端口)、6033(客戶端連接端口)    
  • MySQL 主從服務(wù)器端口(默認(rèn) 3306)

2. 安裝 ProxySQL

# 添加YUM倉(cāng)庫(kù)配置
wget https://repo.proxysql.com/ProxySQL/repo_pub_key -O /etc/pki/rpm-gpg/RPM-GPG-KEY-ProxySQL
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ProxySQL

sudo tee /etc/yum.repos.d/proxysql.repo <<EOF
[proxysql]
name= ProxySQL YUM repository
baseurl=http://repo.proxysql.com/ProxySQL/proxysql-2.4.x/centos/\$releasever
enabled=1
EOF

sudo yum install proxysql -y

3. 配置 ProxySQL

通過(guò)管理接口連接到 ProxySQL

# 啟動(dòng) ProxySQL 服務(wù)
systemctl start proxysql
systemctl enable proxysql

yum install mysql -y

mysql -u admin -padmin -h 127.0.0.1 -P6032

3.1配置 MySQL 主從服務(wù)器

use main;

-- 添加主庫(kù)
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (10, '主庫(kù)IP', 3306);

-- 添加從庫(kù)(多個(gè)從庫(kù)重復(fù)此步驟)
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (20, '從庫(kù)1IP', 3306);
INSERT INTO mysql_servers(hostgroup_id, hostname, port) VALUES (20, '從庫(kù)2IP', 3306);

-- 檢查添加結(jié)果
select * from main.mysql_servers;

-- 應(yīng)用配置
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;

3.2配置讀寫(xiě)分離規(guī)則

-- 寫(xiě)操作路由到主庫(kù)(hostgroup_id=10)
INSERT INTO mysql_query_rules(rule_id, active, match_digest, destination_hostgroup, apply)
VALUES (1, 1, '^INSERT|^UPDATE|^DELETE|^REPLACE|^CREATE|^ALTER|^DROP', 10, 1);

-- 讀操作路由到從庫(kù)(hostgroup_id=20)
INSERT INTO mysql_query_rules(rule_id, active, match_digest, destination_hostgroup, apply)
VALUES (2, 1, '^SELECT', 20, 1);

-- 應(yīng)用配置
load mysql query rules to runtime;
load admin variables to runtime;
save mysql query rules to disk;
save admin variables to disk;

3.3 配置 MySQL 用戶認(rèn)證

-- 添加MySQL客戶端用戶(與MySQL實(shí)際用戶保持一致)
INSERT INTO mysql_users(username, password, default_hostgroup)
VALUES ('業(yè)務(wù)用戶名', '業(yè)務(wù)用戶密碼', 10);

-- 查詢賬戶添加結(jié)果
select * from mysql_users;

-- 應(yīng)用配置
LOAD MYSQL USERS TO RUNTIME;
SAVE MYSQL USERS TO DISK;

3.4 配置監(jiān)控用戶(可選但推薦)

-- 在MySQL主從服務(wù)器上創(chuàng)建監(jiān)控用戶
GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'proxysql'@'%' IDENTIFIED BY '監(jiān)控用戶密碼';
flush privileges;


-- 在ProxySQL中配置監(jiān)控用戶
set mysql-monitor_username='proxysql';
set mysql-monitor_password='監(jiān)控用戶密碼';
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;

4.驗(yàn)證配置

檢查服務(wù)器狀態(tài):

SELECT * FROM mysql_servers;
SELECT * FROM runtime_mysql_servers;

檢查查詢規(guī)則:

SELECT * FROM mysql_query_rules;
SELECT * FROM runtime_mysql_query_rules;

5.客戶端連接 ProxySQL

主機(jī):ProxySQL服務(wù)器IP
端口:6033
用戶名:業(yè)務(wù)用戶名
密碼:業(yè)務(wù)用戶密碼

mysql -uroot -p'Asdf#1234' -P6033 -h 127.0.0.1

6.性能優(yōu)化建議

-- 調(diào)整連接池大?。ǜ鶕?jù)實(shí)際情況調(diào)整)
UPDATE global_variables SET variable_value=1000 WHERE variable_name='mysql-threads';
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;

-- 啟用壓縮(減少網(wǎng)絡(luò)傳輸)
UPDATE global_variables SET variable_value='true' WHERE variable_name='mysql-connections_compress';
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;

7.監(jiān)控與維護(hù)

查看服務(wù)器狀態(tài):

-- 查看主從服務(wù)器狀態(tài)
SELECT hostgroup_id, hostname, port, status FROM runtime_mysql_servers;

-- 查看查詢統(tǒng)計(jì)
SELECT hostgroup, count_star, sum_time, first_seen, last_seen FROM stats_mysql_query_digest;

監(jiān)控 ProxySQL 性能:

# 使用內(nèi)置監(jiān)控命令
proxysql-admin --help

# 查看系統(tǒng)狀態(tài)
top -p $(pgrep proxysql)

8.故障處理

-- 將某個(gè)從庫(kù)提升為主庫(kù)(假設(shè)從庫(kù)IP為192.168.1.101)
UPDATE mysql_servers SET hostgroup_id=10 WHERE hostname='192.168.1.101';
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;


-- 配置主從自動(dòng)切換
-- 定義主從復(fù)制組(hostgroup_id 10=主庫(kù),20=從庫(kù))
INSERT INTO mysql_replication_hostgroups (writer_hostgroup, reader_hostgroup)
VALUES (10, 20);
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL的Grant命令詳解

    MySQL的Grant命令詳解

    mysql中可以通過(guò)Grant命令為數(shù)據(jù)庫(kù)賦予用戶權(quán)限,這里簡(jiǎn)單介紹下Grant的使用方法,需要的朋友可以參考下
    2013-10-10
  • 關(guān)于MyISAM和InnoDB對(duì)比分析

    關(guān)于MyISAM和InnoDB對(duì)比分析

    這篇文章主要介紹了關(guān)于MyISAM和InnoDB對(duì)比分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 詳解MySQL如何避免克隆失敗后再次初始化

    詳解MySQL如何避免克隆失敗后再次初始化

    本文章討論了當(dāng)您沒(méi)有足夠的磁盤空間來(lái)存儲(chǔ)兩個(gè)數(shù)據(jù)集時(shí),使用帶有安全選項(xiàng)DATA DIRECTORY 的 CLONE INSTANCE 命令,所以接下來(lái)小編給大家詳細(xì)的介紹一下,MySQL如何避免克隆失敗后再次初始化,需要的朋友可以參考下
    2023-10-10
  • mysql中使用UDF自動(dòng)同步memcached效率筆記

    mysql中使用UDF自動(dòng)同步memcached效率筆記

    接上篇:mysql使用mysql-udf-http效率測(cè)試筆記 ,這次不使用rest架構(gòu),而是使用:libmemcached和memcached_functions_mysql
    2011-08-08
  • MySQL二進(jìn)制日志(bin_log)的作用與使用方法

    MySQL二進(jìn)制日志(bin_log)的作用與使用方法

    BinLog又稱為二進(jìn)制日志,是MySQL服務(wù)層的數(shù)據(jù)日志,MySQL所有的存儲(chǔ)引擎都支持BinLog,這篇文章主要給大家介紹了關(guān)于MySQL二進(jìn)制日志(bin_log)的作用與使用方法的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • mysql查詢的控制語(yǔ)句圖文詳解

    mysql查詢的控制語(yǔ)句圖文詳解

    這篇文章主要給大家介紹了關(guān)于mysql查詢控制語(yǔ)句的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • mysql表的內(nèi)連和外連實(shí)戰(zhàn)記錄

    mysql表的內(nèi)連和外連實(shí)戰(zhàn)記錄

    在開(kāi)發(fā)中我們的業(yè)務(wù)需求有時(shí)候是復(fù)雜的,多張表聯(lián)合查詢的時(shí)候是有多種方式的,面對(duì)不同的需求,靈活使用不同的表連接方式,這篇文章主要給大家介紹了關(guān)于mysql表內(nèi)連和外連的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • MySQL使用命令創(chuàng)建、刪除、查詢索引的介紹

    MySQL使用命令創(chuàng)建、刪除、查詢索引的介紹

    今天小編就為大家分享一篇關(guān)于MySQL使用命令創(chuàng)建、刪除、查詢索引的介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • MySQL 配置優(yōu)化(多個(gè)參數(shù))

    MySQL 配置優(yōu)化(多個(gè)參數(shù))

    安裝MySQL后,配置文件my.cnf在 /MySQL安裝目錄/share/mysql目錄中,該目錄中還包含多個(gè)配置文件可供參考,有my-large.cnf ,my-huge.cnf, my-medium.cnf,my-small.cnf,分別對(duì)應(yīng)大中小型數(shù)據(jù)庫(kù)應(yīng)用的配置。win環(huán)境下即存在于MySQL安裝目錄中的.ini文件
    2016-05-05
  • Mysql中key和index的區(qū)別點(diǎn)整理

    Mysql中key和index的區(qū)別點(diǎn)整理

    在本篇文章里小編給大家整理的是關(guān)于Mysql中key和index的區(qū)別點(diǎn)整理,需要的朋友們可以學(xué)習(xí)下。
    2020-03-03

最新評(píng)論

平和县| 民乐县| 沙坪坝区| 花垣县| 镇赉县| 乐平市| 梁河县| 辽阳县| 松阳县| 通州市| 安远县| 华安县| 互助| 大庆市| 清苑县| 吴桥县| 嫩江县| 新和县| 会理县| 方山县| 台北县| 莱州市| 林西县| 屏东市| 东辽县| 九寨沟县| 北宁市| 新宁县| 石楼县| 景德镇市| 金平| 安庆市| 怀柔区| 东阿县| 甘谷县| 玉山县| 天柱县| 黔东| 汕尾市| 景泰县| 婺源县|