成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

MySQL數(shù)據(jù)庫之讀寫分離

一、概述:

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的儀隴網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

    MySQL數(shù)據(jù)庫主從結(jié)構(gòu)配置以后,正常情況下數(shù)據(jù)庫的所有讀寫操作全部都在主數(shù)據(jù)庫上面,從數(shù)據(jù)庫僅僅作為數(shù)據(jù)備份使用,顯然無法有效的使用服務(wù)器資源,那么實(shí)現(xiàn)讀寫分離的需求就不可避免。

二、拓?fù)鋱D說明:

MySQL數(shù)據(jù)庫之讀寫分離

    如上圖所示,本文要實(shí)現(xiàn)的是讀MySQL數(shù)據(jù)庫的寫入操作(增刪改)等在Master服務(wù)器(192.168.4.10)上面實(shí)現(xiàn),而對MySQL數(shù)據(jù)庫的讀取操作(查詢)等在Slave服務(wù)器(192.168.4.20)上面完成。

    如果在程序員編程時創(chuàng)建兩個數(shù)據(jù)庫連接Connection,在程序中對數(shù)據(jù)庫的讀取操作使用一個數(shù)據(jù)庫Connection,而對數(shù)據(jù)庫的寫入操作使用另外一個數(shù)據(jù)庫Connection,也可以實(shí)現(xiàn)對數(shù)據(jù)庫的讀寫分離。但是顯然這種實(shí)現(xiàn)方式不夠靈活,因此一般不使用這種方式。

    本文中將使用MaxScale軟件來實(shí)現(xiàn)MySQL數(shù)據(jù)庫的讀寫分離。MaxScale是由http://www.skysql.com/開發(fā)的一款MySQL數(shù)據(jù)庫中間件,支持高可用,負(fù)載均衡,具有良好的可擴(kuò)展性,高性能的基于事件驅(qū)動的同時具有代理和管理功能的中間件。該軟件將部署在拓?fù)鋱D中的MySQL代理服務(wù)器(192.168.4.100)上,客戶機(jī)的訪問請求指向MySQL代理服務(wù)器,該服務(wù)器將把對數(shù)據(jù)庫的寫入操作指向到192.168.4.10,對數(shù)據(jù)庫的讀取操作指向到192.168.4.20。

三、配置說明:

1、MaxScale配置

  (1)修改配置文件:

      [root@100 ~]# vim /etc/maxscale.cnf

          A、指定數(shù)據(jù)庫服務(wù)器
             [server1]
                type=server
                address=192.168.4.10       
                port=3306
                protocol=MySQLBackend
 
             [server2]
                type=server
                address=192.168.4.20
                port=3306
                protocol=MySQLBackend

          B、指定要監(jiān)控的數(shù)據(jù)庫服務(wù)器
             [MySQL Monitor]
               type=monitor
               module=mysqlmon
               servers=server1,server2
               user=scalemon                #代理服務(wù)器監(jiān)控服務(wù)連接數(shù)據(jù)庫服務(wù)器的用戶名(需要在數(shù)據(jù)庫服務(wù)器上面授權(quán))
               passwd=123456                #代理服務(wù)器監(jiān)控服務(wù)連接數(shù)據(jù)庫服務(wù)器的密碼

               monitor_interval=10000        //活躍檢查時間間隔,10000毫秒=10秒
          C、指定讀寫分離在哪些主機(jī)之間執(zhí)行
             [Read-Write Service]
                 type=service
                 router=readwritesplit
                 servers=server1,server2
                 user=maxscale               #用于檢查用戶連接數(shù)據(jù)庫時用的授權(quán)用戶是否合法的用戶名(需要對mysql數(shù)據(jù)庫有select權(quán)限)
                 passwd=123456               #用于檢查用戶連接數(shù)據(jù)庫時用的授權(quán)用戶是否合法的用戶名         

                 max_slave_connections=100%
          D、定義管理服務(wù)和方式(不用改)
             [MaxAdmin Service]
                 type=service
                 router=cli
          E、只讀服務(wù)器配置選項(xiàng)(不用,全部注釋掉)
             [Read-Only Service]
                 #type=service
                 #router=readconnroute
                 #servers=server1
                 #user=myuser
                 #passwd=mypwd
                 #router_options=slave

                 #[Read-Only Listener]
                 #type=listener
                 #service=Read-Only Service
                 #protocol=MySQLClient
                 #port=4008
          F、讀寫分離的監(jiān)聽端口配置
             [Read-Write Listener]
                 type=listener
                 service=Read-Write Service
                 protocol=MySQLClient
                 port=4006                    //客戶端讀寫分離服務(wù)訪問端口
         G、管理服務(wù)的監(jiān)聽端口配置
            [MaxAdmin Listener]
                 type=listener
                 service=MaxAdmin Service
                 protocol=maxscaled
                 socket=default
                 port=4009                    //管理服務(wù)使用的端口

2、在主數(shù)據(jù)庫服務(wù)器添加授權(quán)

   mysql > grant replication slave,replication client on *.* to scalemon@"%" identified by "123456";
   mysql > grant select on mysql.* to maxscale@"%" identified by "123456";

3、在代理服務(wù)器上面啟動服務(wù)并檢查數(shù)據(jù)庫服務(wù)器狀態(tài)

  (1)啟動服務(wù):

        [root@100 ~]# maxscale --config=/etc/maxscale.cnf

  (2)檢查狀態(tài)

        [root@100 ~]# maxadmin -uadmin -pmariadb -P4009
            MaxScale> list servers
            -------------------+-----------------+-------+-------------+--------------------
            Server             | Address         | Port  | Connections | Status              
            -------------------+-----------------+-------+-------------+--------------------
            server1            | 192.168.4.11    |  3306 |           0 | Master, Running
            server2            | 192.168.4.12    |  3306 |           0 | Slave, Running
            -------------------+-----------------+-------+-------------+--------------------

4、驗(yàn)證測試

    在192.168.4.120上使用授權(quán)用戶連接代理服務(wù)器(192.168.4.100:4006),在從數(shù)據(jù)庫服務(wù)器(192.168.4.20)上面Insert一些數(shù)據(jù),在客戶端可以讀到,那么說明客戶端讀數(shù)據(jù)時是在從數(shù)據(jù)庫(192.168.4.20);在192.168.4.120上使用授權(quán)用戶連接代理服務(wù)器(192.168.4.100:4006),Insert一些數(shù)據(jù)成功,在主從數(shù)據(jù)庫上面都可以看到,說明客戶端寫數(shù)據(jù)時是在主數(shù)據(jù)庫服務(wù)器(192.168.4.10)上面。        

網(wǎng)站名稱:MySQL數(shù)據(jù)庫之讀寫分離
分享URL:http://jinyejixie.com/article2/ijdioc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、用戶體驗(yàn)軟件開發(fā)、全網(wǎng)營銷推廣、網(wǎng)站維護(hù)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
大同市| 基隆市| 咸丰县| 明星| 句容市| 德阳市| 清徐县| 富宁县| 宣恩县| 高邑县| 大悟县| 兴海县| 建瓯市| 海晏县| 呼和浩特市| 江门市| 兴化市| 武平县| 拉萨市| 平南县| 岳西县| 醴陵市| 和田县| 南充市| 津南区| 陵川县| 大名县| 清水县| 杭州市| 集贤县| 建平县| 商水县| 涪陵区| 黑龙江省| 兰溪市| 福贡县| 塔城市| 桃江县| 土默特右旗| 汾西县| 湖南省|