MySQL讀寫分離

2021-09-25 15:35:56 字數 2031 閱讀 6414

實現方式

mysql-proxy

mycat

amoeba

實現主從複製

172.25.41.2 (主)

172.25.41.3 (從)

mysql-proxy (172.25.41.1)

獲取檔案mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz,解壓,建立軟鏈結,如下

進入目錄,建立日誌和配置檔案目錄

修改檔案/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua改低連線數,方便測試

編寫配置檔案,同時修改許可權為600,以便啟動

[mysql-proxy]

user=root

# 分離主機

proxy-address=172.25.41.1:3306

# 讀,從資料庫

proxy-read-only-backend-addresses=172.25.41.3:3306

# 寫,主資料庫

proxy-backend-addresses=172.25.41.2:3306

# 指定分離引數指令碼

proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua

# 日誌檔案

log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log

# pid檔案

pid-file=/usr/local/mysql-proxy/logs/mysql-proxy.pid

# 日誌等級

log-level=debug

# 外掛程式方式執行

plugins=proxy

# 以deamon方式執行

daemon=true

# 實現實時檢測

指定配置檔案,啟動服務,檢視埠

測試主庫賦予使用者查詢,新增,修改許可權(172.25.41.2)

grant  select,insert,update  on *.* to 'octopus'@'172.25.41.%';
主庫上新建資料庫octopus,同時新建表,內容如下(172.25.41.2)

由於同步,檢視從庫資訊也進行了更新(172.25.41.3)

此時停止同步(172.25.41.3)

鏈結資料庫進行測試(172.25.41.254)

插入資料(172.25.41.254)

在主資料庫上查詢到(172.25.41.2)

而從資料庫失敗(172.25.41.3)

mysql讀寫分離

5.讀寫分離適用與讀遠大於寫的場景,如果只有一台伺服器,當select很多時,update和delete會被這些select訪問中的資料堵塞,等待select結束,併發效能不高。對於寫和讀比例相近的應用,應該部署雙主相互複製。6.可以在從庫啟動是增加一些引數來提高其讀的效能,例如 skip inno...

讀寫分離 MySQL

1 what 讀寫分離 讀寫分離,基本的原理是讓主資料庫處理事務性增 改 刪操作 insert update delete 而從資料庫處理select查詢操作。資料庫複製被用來把事務性操作導致的變更同步到集群中的從資料庫。2 why 那麼為什麼要讀寫分離呢?因為資料庫的 寫 寫10000條資料到or...

mysql讀寫分離

在資料庫集群架構中,讓主庫負責處理事務性查詢,而從庫只負責處理select查詢,讓兩者分工明確達到提高資料庫整體讀寫效能。當然,主資料庫另外乙個功能就是負責將事務性查詢導致的資料變更同步到從庫中,也就是寫操作。即主從複製和讀寫分離是離不開的 1 分攤伺服器壓力,提高機器的系統處理效率 讀寫分離適用於...