mysql主從利用proxy實現讀寫分離 IT阿寶

2022-09-23 04:18:13 字數 2069 閱讀 9994

編譯安裝**服務

安裝依賴yum update -y nss curl libcurlyum group install "development tools" yum install gcc make libcurl-devel openssl-devel gmp-devel tar libffi-devel gettext-devel -yyum install -y tcpdump net-tools jemalloc-devel libevent-devel glib2-devel lua-devel lua mysql-devel git#yum install glib2#yum install jemalloc

cd /opt && git clone atlas

需要先修改源**vim /opt/atlas/src/network-conn-pool-lua.c220行:char tmp = {to_write - 4, 0, 0, 1, 0x85這行**將0x85修改成0x87之後,儲存退出

./bootstrap.shmake cleanmake && make install

配置項新增或變更這幾項:daemon=trueevent-threads=2charset=utf8mb4sql-log=onmax_conn_for_a_backend=0wait-timeout=60

編輯配置檔案vi /usr/local/mysql-proxy/conf/config.cnf

[mysql-proxy]admin-username=admin ###管理介面的使用者名稱admin-password=admin123 ###管理介面的密碼#admin-lua-script=/usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lualog-level=debug ####日誌級別log-path=./log #####日誌路徑#plugin-dir=./libevent-threads=2 ##工作執行緒數,對atlas的效能有很大影響,可根據情況適當設定instance=config ####配置檔案的名字proxy-address=0.0.0.0:1234 #atlas監聽的工作介面ip和埠admin-address=0.0.0.0:2345 #atlas監聽的管理介面ip和埠

####atlas後端連線的mysql主庫的ip和埠,可設定多項,用逗號分隔proxy-backend-addresses=192.168.50.199:3306

###atlas後端連線的mysql從庫的ip和埠,@後面的數字代表權重,用來作負載均衡,若省略則預設為1,可設定多項,用逗號分隔proxy-read-only-backend-addresses=192.168.0.206:3306

###使用者名稱與其對應的加密過的mysql密碼,密碼使用prefix/bin目錄下的加密程式encrypt加密,下行的user1和user2為示例,將其替換為你的mysql的使用者名稱和加密密碼!pwds=saybot:ze2h****

daemon=true #####設定atlas的執行方式,設為true時為守護程序方式,設為false時為前台方式,一般開發除錯時設為false,線上執行時設為true,true後面不能有空格keepalive=true ####設定atlas的執行方式,設為true時atlas會啟動兩個程序,乙個為monitor,乙個為worker,monitor在worker意外退出後會自動將其重啟,設為false時只有worker,沒有monitor,一般開發除錯時設為false,線上執行時設為true,true後面不能有空格。

charset=utf8mb4 ###預設字符集sql-log=on ###########日誌開關,max_conn_for_a_backend=0wait-timeout=60

配置完成後啟動服務cd /usr/local/mysql-proxy/bin/ ####進入啟動檔案目錄./mysql-proxyd config start ####啟動服務

主從後續會追加。。。。。。。

參考文章

mysql 主從維護 MYSQL主從的維護

分類 mysql postgresql 1.m上把事件從二進位制日誌中過濾 引數 binlog do db binlog ignore db 2.s上事件從中繼日誌中過濾 引數 replicate do db replicte do table repicate ingore db repliaca...

利用 aws ec2 實現 proxy

然後,在本地的 terminal 上操作 chmod 400 google proxy.pem ssh d 4567 i google proxy.pem ubuntu ec2 ap northeast 2.compute.amazonaws.comssh d 4567 會建立乙個 socket,監...

Mysql 主從備份

複製解決的基本問題就是讓一台伺服器的資料與其他伺服器保持一致。mysql支援 行的複製 和 基於語句 的複製。這兩種方式都是通過再主庫上記錄二進位制日誌,再備庫重放日誌來實現非同步的資料資料複製。在同一時間點,會造成主備庫資料不一致 mysql的複製大部分支援向後相容,新版本伺服器可以作為老版本伺服...