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

MySQL讀寫分離部署實踐

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

1.環(huán)境準備

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

開放必要的網(wǎng)絡端口:

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

2. 安裝 ProxySQL

# 添加YUM倉庫配置
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

通過管理接口連接到 ProxySQL

# 啟動 ProxySQL 服務
systemctl start proxysql
systemctl enable proxysql

yum install mysql -y

mysql -u admin -padmin -h 127.0.0.1 -P6032

3.1配置 MySQL 主從服務器

use main;

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

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

-- 檢查添加結果
select * from main.mysql_servers;

-- 應用配置
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;

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

-- 寫操作路由到主庫(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);

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

-- 應用配置
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 用戶認證

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

-- 查詢賬戶添加結果
select * from mysql_users;

-- 應用配置
LOAD MYSQL USERS TO RUNTIME;
SAVE MYSQL USERS TO DISK;

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

-- 在MySQL主從服務器上創(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.驗證配置

檢查服務器狀態(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

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

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

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

-- 調整連接池大小(根據(jù)實際情況調整)
UPDATE global_variables SET variable_value=1000 WHERE variable_name='mysql-threads';
LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;

-- 啟用壓縮(減少網(wǎng)絡傳輸)
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)控與維護

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

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

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

監(jiān)控 ProxySQL 性能:

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

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

8.故障處理

-- 將某個從庫提升為主庫(假設從庫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;


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

總結

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

相關文章

  • MySQL的Grant命令詳解

    MySQL的Grant命令詳解

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

    關于MyISAM和InnoDB對比分析

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

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

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

    mysql中使用UDF自動同步memcached效率筆記

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

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

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

    mysql查詢的控制語句圖文詳解

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

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

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

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

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

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

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

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

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

最新評論

秦皇岛市| 金堂县| 乌拉特前旗| 壤塘县| 彭水| 北海市| 常州市| 阿尔山市| 阆中市| 紫阳县| 乐山市| 广东省| 蚌埠市| 琼结县| 明溪县| 观塘区| 六盘水市| 浠水县| 潮安县| 鹤壁市| 新平| 德阳市| 酉阳| 德兴市| 玉溪市| 杭州市| 台北市| 怀集县| 珠海市| 从江县| 伽师县| 辽宁省| 盐池县| 茂名市| 米易县| 通海县| 江川县| 临夏市| 泗阳县| 宜都市| 文山县|