首頁 資料庫 mysql教程 搭建MySQL代理服务器实现读写分离+主从同步_MySQL

搭建MySQL代理服务器实现读写分离+主从同步_MySQL

Jun 01, 2016 pm 01:13 PM
代理伺服器 使用者

代理服务器

实验需求:

1.配置2台MySQL服务器(192.168.100.2,192.168.100.3)+1台代理服务器(192.168.100.1),实现MySQL代理的读写分离。

2.用户只需要访问MySQL代理服务器,实际的SQL查询、写入操作交给后台的2台MySQL服务器来完成。

3.2台MySQL服务器实现主从同步,其中Master服务器允许SQL查询、写入,Slave服务器只允许SQL查询。

Ubuntu下Nginx做负载实现高性能WEB服务器5---MySQL主主同步http://www.linuxidc.com/Linux/2012-06/61687p5.htm

生产环境MySQL主主同步主键冲突处理http://www.linuxidc.com/Linux/2013-07/86890.htm

MySQL主从失败 错误Got fatal error 1236http://www.linuxidc.com/Linux/2012-02/54729.htm

MySQL主从复制,单台服务器上实施http://www.linuxidc.com/Linux/2013-03/81913.htm

一 .MASTER数据库服务器(192.168.100.2)的配置

1.安装软件包(本实验采用MySQL5.6版本)

# rpm -qa | grep -i mysql

MySQL-shared-5.6.15-1.el6.x86_64

MySQL-devel-5.6.15-1.el6.x86_64

MySQL-embedded-5.6.15-1.el6.x86_64

MySQL-test-5.6.15-1.el6.x86_64

MySQL-server-5.6.15-1.el6.x86_64

MySQL-client-5.6.15-1.el6.x86_64

MySQL-shared-compat-5.6.15-1.el6.x86_64


2.启动服务并登录数据库本机对代理服务器做用户授权

# service mysql start && chkconfig mysql on

mysql> grant  all  on *.*  to  proxyuser@"192.168.100.1" identified  by "123456";

3.创建测试数据库和表

mysql> create database proxydb;

mysql> create table proxydb.proxytab(id int);

mysql> insert into proxydb.proxytab values (2);

二 .SLAVE数据库服务器(192.168.100.3)的配置

1.安装软件包

2.启动服务并登录数据库本机对代理服务器做用户授权

# service mysql start && chkconfig mysql on

mysql> grant  all  on *.*  to  proxyuser@"192.168.100.1" identified  by "123456";  //与MASTER数据库服务器做一样的授权

3.创建测试数据库和表

mysql> create database proxydb;                  //创建一样的库和表

mysql> create table proxydb.proxytab(id int);

mysql> insert into proxydb.proxytab values (3); //为了能测试区分2台不同数据库服务器,先插入不同数据

三.MySQL代理服务器配置

1.在做代理服务器上测试授权用户能否登录2台数据库服务器

# mysql -h192.168.100.2 -uproxyuser -p123456        //登录MASTER服务器

mysql> select * from proxydb.proxytab;

+------+

| id  |

+------+

|    2 |

+------+

1 row in set (0.00 sec)


# mysql -h192.168.100.3 -uproxyuser -p123456          //登录SLAVE服务器

mysql> select * from proxydb.proxytab;

+------+

| id  |

+------+

|    3 |

+------+

1 row in set (0.00 sec)

2.释放3306端口

# service mysqld stop

# chkconfig mysqld off

# netstat -tulnp | grep :3306

3.安装提供代理服务器的软件包

# tar zxvf mysql-proxy-0.8.3-linux-rhel5-x86-64bit.tar.gz

# mv mysql-proxy-0.8.3-linux-rhel5-x86-64bit /usr/local/mysql-proxy  //此包为绿色免安装

# yum -y install lua //此软件使用LUA脚本语言,因此需要安装好lua软件包

代理服务启动时 会设置  负责写的数据库  负责读数据库服务器

                        调用脚本来区分用户的访问类型

                        指定自己监听的端口

4.启动代理服务

cd /usr/local/mproxy/bin/

使用bin目录下的mysql-proxy脚本来启动代理服务

# ./mysql-proxy -P 192.168.100.1:3306 -r  192.168.100.3:3306  -b 192.168.100.2:3306  -s /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua &

主要命令选项:

-P:指定代理监听的IP地址、端口

-r:指定读服务器的IP地址、端口

-b:指定写服务器的IP地址、端口

-s:指定lua脚本文件

--keepalive:如果服务进程崩溃,尝试重启此进程

5.查看代理进程是否运行

# jobs

# netstat -tulnp | grep :3306

tcp        0      0 192.168.100.1:3306          0.0.0.0:*                  LISTEN      3314/mysql-proxy   

//代理进程必须处于运行状态,客户端才能通过代理服务访问到后端的数据库服务器。

6.查看读写分离脚本

# vim /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua

……

 40                min_idle_connections = 4,        //默认并发请求大于4才实行读写分离

 41                max_idle_connections = 8, 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/102265p2.htm

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

修正:Google Chrome 中的 ERR_ADDRESS_UNREACHABLE 錯誤 修正:Google Chrome 中的 ERR_ADDRESS_UNREACHABLE 錯誤 May 15, 2023 pm 06:22 PM

幾位windows用戶抱怨,當他們嘗試在系統上的googlechrome瀏覽器上造訪一些網站時,他們無法存取網頁。它還在瀏覽器上顯示一條訊息,顯示“無法存取該網站”,錯誤代碼為ERR_ADDRESS_UNREACHABLE。此問題背後可能有許多潛在原因,可能是由於網站伺服器問題、代理伺服器設定、網路連線不穩定等。如果您也遇到類似的問題,請不要驚慌。在深入分析了這篇文章中的問題後,我們得到了一堆解決方案。在繼續之前,請嘗試以下解決方法:嘗試檢查使用者是否嘗試從其他裝置造訪網站並且沒有問題,那麼這

如何用小紅書號找出用戶?能查到手機號碼嗎? 如何用小紅書號找出用戶?能查到手機號碼嗎? Mar 22, 2024 am 08:40 AM

隨著社群媒體的迅速發展,小紅書已經成為了備受青睞的社群平台之一。用戶可以透過建立小紅書號來展示個人身份,並與其他用戶交流互動。如果你需要找某個用戶的小紅書號碼,可以按照以下簡單步驟來操作。一、如何用小紅書號找出用戶? 1.開啟小紅書APP,點選右下角的「發現」按鈕,然後選擇「筆記」選項。 2.在筆記清單中,找到你想找的用戶發布的筆記。點擊進入筆記詳情頁。 3.在筆記詳情頁中,點選使用者頭像下方的「追蹤」按鈕,即可進入該使用者的個人首頁。 4.在使用者個人主頁右上角,點選三個點按鈕,然後選擇「個人資訊

Windows 11 上缺少本機使用者和群組:如何新增它 Windows 11 上缺少本機使用者和群組:如何新增它 Sep 22, 2023 am 08:41 AM

「本機使用者和群組」公用程式內建於「電腦管理」中,可以從控制台訪問,也可以獨立存取。但是,有些用戶發現Windows11中缺少本機使用者和群組。對於可以存取它的一些人來說,該訊息顯示,此管理單元可能不適用於此版本的Windows10。若要管理此電腦的使用者帳戶,請使用「控制台」中的「使用者帳戶」工具。該問題已在上一次迭代Windows10中報告,並且通常是由於用戶端的問題或疏忽引起的。為什麼Windows11中缺少本機使用者和群組?您運行的是Windows家庭版,本機使用者和群組在專業版及更高版本上可用。活動

以超級使用者登入Ubuntu 以超級使用者登入Ubuntu Mar 20, 2024 am 10:55 AM

在Ubuntu系統中,root使用者通常是停用狀態的。要啟動root用戶,可以使用passwd指令設定密碼,然後使用su-指令以root身分登入。根用戶是具有系統管理權限且不受限制的使用者。他擁有存取和修改檔案、使用者管理、軟體安裝和刪除,以及系統配置變更等權限。根用戶與一般用戶有著明顯的區別,根用戶擁有系統中最高的權限和更廣泛的控制權。根用戶可以執行重要的系統命令和編輯系統文件,而普通用戶則無法做到這一點。在本指南中,我將探討Ubuntu根用戶,如何以根用戶身份登錄,以及它與一般用戶的不同之處。注意

如何修復Windows 11/10上代理伺服器不回應的問題? 如何修復Windows 11/10上代理伺服器不回應的問題? Apr 25, 2023 pm 06:37 PM

當透過MozillaFirefox、GoogleChrome、InternetExplorer等流行的網頁瀏覽器存取Internet時,許多用戶面臨代理伺服器沒有回應的問題。此錯誤可能出現在您的電腦上的主要原因可能是代理設定不正確。可以透過停用代理來修正不正確的代理設置,因此我們可以解決問題。在本文中,我們透過3種不同的方法解釋瞭如何輕鬆停用機器中的代理,從而解決代理伺服器沒有回應的問題。繼續閱讀,學習這個簡單的技巧。方法1:透過Internet屬性停用代理程式第1步:同時按下W

探索Windows 11指南:如何存取舊硬碟上的使用者資料夾 探索Windows 11指南:如何存取舊硬碟上的使用者資料夾 Sep 27, 2023 am 10:17 AM

由於權限,並不總是可以存取某些資料夾,在今天的指南中,我們將向您展示如何在Windows11上的舊硬碟上存取使用者資料夾。此過程很簡單,但可能需要一段時間,有時甚至數小時,具體取決於驅動器的大小,因此請格外耐心並嚴格按照本指南中的說明進行操作。為什麼我無法存取舊硬碟上的使用者資料夾?使用者資料夾的所有權屬於另一台電腦,因此您無法對其進行修改。除了所有權之外,您對該資料夾沒有任何權限。如何開啟舊硬碟上的使用者檔案? 1.取得資料夾的所有權並更改權限找到舊的使用者目錄,右鍵單擊它,然後選擇屬性。導航至“安

教學:Ubuntu系統如何刪除一般使用者帳號? 教學:Ubuntu系統如何刪除一般使用者帳號? Jan 02, 2024 pm 12:34 PM

Ubuntu系統增加了許多用戶,想在不用的用戶想要刪除,該怎麼刪除呢?下面我們就來看看詳細的教學。 1.開啟終端命令列,運用userdel指令刪除指定的用戶,注意要加sudo權限指令,如下圖所示2、在刪除的時候一定注意是在管理員目錄下的,普通的用戶是沒有這個權限的,如下圖所示3、刪除指令執行完了以後怎麼判斷是否真正刪除了呢?下面我們運用cat指令開啟passwd文件,如下圖所示4、我們看到passwd檔案中已經沒有了所刪除的使用者資料了,這證明使用者已經被刪除了,如下圖所示5、然後我們進入home文件

什麼是 sudo,為什麼它如此重要? 什麼是 sudo,為什麼它如此重要? Feb 21, 2024 pm 07:01 PM

sudo(超級使用者執行)是Linux和Unix系統中的關鍵指令,允許一般使用者以root權限執行特定指令。 sudo的功能主要體現在以下幾個方面:提供權限控制:sudo透過授權使用者以臨時方式取得超級使用者權限,從而實現了對系統資源和敏感操作的嚴格控制。普通用戶只能在需要時透過sudo獲得臨時的特權,而不需要一直以超級用戶登入。提升安全性:透過使用sudo,可以避免在常規操作中使用root帳號。使用root帳戶進行所有操作可能會導致意外的系統損壞,因為任何錯誤或不小心的操作都將具有完全的權限。而

See all articles