中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

安裝mysql-proxy實現mysql讀寫分離

發布時間:2020-09-30 23:37:46 來源:網絡 閱讀:2869 作者:karony1 欄目:MySQL數據庫

一. 環境描述

操作系統版本:centos 7.2

服務器192.168.0.72  node2

從服務器:192.168.0.73  node3

調度服務器MySQL-Proxy192.168.0.71   node1

二. 配置mysql主從

2.1 安裝mysql

node2node3都需安裝

[lirou@node2 ~]$ sudo yum -y install mariadb-server

2.2 修改配置文件

master配置文件:

skip_name_resolve

innodb_file_per_table

server_id = 1

log_bin = /var/lib/mysql/bin_log

slave 配置文件:

skip_name_resolve

innodb_file_per_table

server_id = 2

log_bin = /var/lib/mysql/bin_log

read_only

 

注意:master服務器一定要開啟二進制日志,因為主從復制依賴與master。而且主從服務器的server_id一定要不同。

2.3 啟動服務

node2node3都要啟動服務

[lirou@node3 ~]$ sudo systemctl start mariadb

2.4 配置主從服務器

Master服務器上

分配slave主機訪問master的權限賬號:

[lirou@node2 ~]$ mysql -uroot

MariaDB [(none)]> GRANT REPLICATION CLIENT, REPLICATION SLAVE ON  *.* TO 'repl_user'@'192.168.0.%' IDENTIFIED BY 'repl_pass';

 

查看master上二進制日志位置

MariaDB [(none)]> show master status ;

+---------------+----------+--------------+------------------+

| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| binlog.000001 |      425 |              |                  |

+---------------+----------+--------------+------------------+

slave服務器上

mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.72', MASTER_USER='repl_user', MASTER_PASSWORD='repl_pass', MASTER_LOG_FILE='binlog.000001', MASTER_LOG_POS=425;

mysql> slave start;    # 開啟從同步

mysql> show slave status \G;  #查看同步是否成功

安裝mysql-proxy實現mysql讀寫分離安裝mysql-proxy實現mysql讀寫分離

三. 配置mysql-proxy

3.1 下載安裝包

~]# wget wget https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz

~]# sudo  tar xf https://downloads.mysql.com/archives/get/file/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz -C /usr/local

~]# mv /usr/local/mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit /usr/local/mysql-proxy

3.2 配置mysql-proxy

創建lua腳本目錄

~]# cd /usr/local/mysql-proxy

mysql-proxy]# mkdir lua

創建日志目錄

Mysql-proxy]# mdkir logs

拷貝讀寫分離配置文件和管理腳本到lua腳本目錄

mysql-proxy]# cp share/doc/mysql-proxy/rw-splitting.lua  ./lua

Mysql-proxy]# cp share/doc/mysqp-proxy/admin-sql.lua  ./lua

創建配置文件

~]# vim /etc/mysql-proxy.conf

[mysql-proxy]

user = root  運行代理的用戶

admin-username = mysql_proxy_user  # mysql-proxy連接后端mysql服務器的用戶

admin-password = mysql_proxy_pass  # mysql-proxy連接后端mysql服務器的密碼

proxy-address = 192.168.0.71:3307    # mysql-proxy監聽的IP和端口,端口默認4040

proxy-read-only-backend-addresses = 192.168.0.73  #只讀服務

proxy-backend-addresses = 192.168.0.72           # 讀寫服務器

proxy-lua-script = /usr/local/mysql-proxy/lua/rw-splitting.lua  # 指明讀寫分離配置文件

admin-lus-script = /usr/local/mysql-proxy/lua/admin-sql.lua   # 管理腳本路徑

log-file = /usr/local/mysql-proxy/logs/mysql-proxy.log     # 日志文件路徑

log-level = debug   #日志記錄等級

daemon = true     # 程序是否在后端啟動

keepalive = true    # mysql-proxy崩潰后,嘗試重啟

修改讀寫配置文件

vim /usr/local/mysql-proxy/lua/rw-splitting.lua

if not proxy.global.config.rwsplit then

 proxy.global.config.rwsplit = {

  min_idle_connections = 1,  #默認超過4個連接數時,才開始讀寫分離,改為1

  max_idle_connections = 1,  #默認8,改為1

  is_debug = false

 }

啟動mysql-proxy

~]# /usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/etc/mysql-proxy.cnf

安裝mysql-proxy實現mysql讀寫分離安裝mysql-proxy實現mysql讀寫分離 

mysql上創建mysql-proxy連接的用戶

mysql> GRANT ALL ON *.* TO 'mysql_proxy_user'@'192.168.0.%' IDENTIFIED BY 'mysql_proxy_pass';

 

四. 測試讀寫分離

測試寫

mysql -umysql_proxy_user -pmysql_proxy_pass -h292.168.0.71 --port=3307

mysql> create databases master;

mysql> create table test (id int);

mysql> insert into master.test value (1);

 

查看從服務器:

安裝mysql-proxy實現mysql讀寫分離安裝mysql-proxy實現mysql讀寫分離 

可以看到從服務器同步了

測試讀

主服務器查詢語句條數

安裝mysql-proxy實現mysql讀寫分離安裝mysql-proxy實現mysql讀寫分離 

從服務器查詢語句條數

安裝mysql-proxy實現mysql讀寫分離

安裝mysql-proxy實現mysql讀寫分離

連接mysql-proxy執行一條讀語句

安裝mysql-proxy實現mysql讀寫分離

主服務器查詢語句條數

安裝mysql-proxy實現mysql讀寫分離

從服務器查詢語句條數

安裝mysql-proxy實現mysql讀寫分離安裝mysql-proxy實現mysql讀寫分離 

我們可以看到查詢語句是在從服務器上執行。

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长岭县| 永丰县| 中宁县| 乐清市| 许昌县| 广昌县| 鄂伦春自治旗| 武陟县| 鄂托克前旗| 舒城县| 塘沽区| 理塘县| 郁南县| 阜平县| 泸溪县| 齐齐哈尔市| 平安县| 大同县| 县级市| 克拉玛依市| 怀集县| 东方市| 始兴县| 达州市| 沙湾县| 石林| 汾阳市| 济宁市| 涪陵区| 九寨沟县| 巴马| 手机| 景洪市| 沂南县| 青田县| SHOW| 米林县| 云霄县| 阿克陶县| 廉江市| 伊吾县|