中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

MySQL數據庫進階篇——主從同步與讀寫分離-創(chuàng)新互聯(lián)

MySQL數據庫進階篇——主從同步與讀寫分離

主從同步

實驗準備

總共四臺虛擬機,一臺應用端,一臺amoeba,一臺主服務器,一臺從服務器

10年積累的成都網站制作、做網站經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先制作網站后付款的網站建設流程,更有杭錦免費網站建設讓你可以放心的選擇與我們合作。

?應用端: centos7-2(實驗前已裝MySQL)

?amoeba: centos7-1(無MySQL)

?主服務器: centos7-3(實驗前已裝MySQL)

?從服務器: centos7-4(實驗前已裝MySQL)

主服務器設置

安裝時間同步服務

[root@master ~]# yum install ntp -y
#修改ntp配置文件
[root@master ~]# vim /etc/ntp.conf  
    server 127.127.195.0        //本地是時鐘源,195段落//
    fudge 127.127.195.0 stratum 8       //設置時間層級為8//
###開啟服務
[root@master ~]# systemctl start ntpd

修改MySQL主配置文件

[root@master ~]# vim /etc/my.cnf
    server-id 10
    log-bin=zhu-bin
    log-slave-updates=ture    ##開啟主從同步
[root@master ~]# systemctl restart mysqld
[root@master ~]# systemctl stop firewalld

進入數據庫修改

[root@master ~]# mysql -u root -p
grant replication slave on *.* to 'myslave'@'192.168.142.%' identified by 'asd123';
    #允許從服務器使用myslave賬戶在主服務器上進行復制操作
show master status;   #查看主服務器信息
mysql> mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000005 |      868 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
從服務器設置

安裝同步服務客戶端ntpd

[root@slave ~]# yum install ntp ntpdate -y

#開啟服務關防火墻
[root@slave ~]# systemctl start ntpd
[root@slave ~]# systemctl stop firewalld
##進行時間同步
[root@slave ~]# /usr/sbin/ntpdate 主服務器地址

修改MySQL主配置文件

[root@slave ~]# vim /etc/ntp.conf
    server-id = 20
    relay-log = relay-bin      ###同步日志文件到本地
    relay-log-index = slave-bin.index    ##定義日志文件類型及名稱
[root@slave ~]# systemctl restart mysqld

進入數據庫修改

[root@slave ~]# mysql -u root -p123123
change master to master_host='192.168.142.135',master_user='myslave',master_password='asd123',master_log_file='mysql-bin.000005',master_log_pos=865;
    ##授予權限
start slave;
###查詢同步是否成功
show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Reconnecting after a failed master event read
                  Master_Host: 192.168.142.132
                  Master_User: myslave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 1633
               Relay_Log_File: master1-relay-bin.000011
                Relay_Log_Pos: 1126
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes        ##IO連接
            Slave_SQL_Running: Yes        ##SQL連接
            ......

PS:

? 有時候做主從同步時會遇見Slave_SQL_Running: NO的問題,以下是解決方法:

####Slave_SQL_Running: No問題解決方案
MariaDB [(none)]> stop slave;                                                       
MariaDB [(none)]> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
MariaDB [(none)]> start slave; 
MariaDB [(none)]> show slave status\G

至此,MySQL主從同步已經完成,下面就是開始進行動靜分離


MySQL讀寫分離

實驗準備

以下實驗全部基于主從同步的基礎上進行

#總共四臺虛擬機,一臺應用端,一臺amoeba,一臺主服務器,一臺從服務器

?應用端:centos7-2(有MySQL)

?amoeba: centos7-1(無MySQL)

?主服務器: centos7-3(有MySQL)

?從服務器: centos7-4(有MySQL)

設置amoeba服務器

安裝jdk環(huán)境(amoeba由java開發(fā))

[root@amoeba ~]# systemctl stop firewalld.service   #關閉防火墻
[root@amoeba ~]# setenforce 0
[root@amoeba mnt]# cp -p jdk-6u14-linux-x64.bin /usr/local/  #移動事先準備好的jdk包
[root@amoeba mnt]# cd /usr/local/
[root@amoeba local]# ./jdk-6u14-linux-x64.bin       #安裝jdk環(huán)境
[root@amoeba local]# mv jdk1.6.0_14/ jdk1.6
##配置jdk環(huán)境變量
[root@amoeba local]# vim /etc/profile 
    export JAVA_HOME=/usr/local/jdk1.6
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
    export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin/:$PATH:$HOME/bin
    export AMOEBA_HOME=/usr/local/amoeba
    export PATH=$PATH:$AMOEBA_HOME/bin
[root@amoeba local]# source /etc/profile

解壓、安裝amoeba工具包

[root@amoeba local]# mkdir amoeba
[root@amoeba local]# tar zxf /mnt/amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba   #解壓事先準備好的工具包
[root@amoeba local]# chmod -R 755 amoeba/    #賦予權限
##檢查是否安裝成功
[root@amoeba local]# /usr/local/amoeba/bin/amoeba
amoeba start|stop     ##出現(xiàn)以下命令行即為成功

修改主配置文件amoeba.xml

[root@amoeba local]# vim amoeba/conf/amoeba.xml
##按照下圖進行修改
#(增加客戶機訪問amoeba的賬戶、密碼)
<property name="user">amoeba</property>
<property name="password">123123</property>
---------------------------------------------------------
#(開啟默認池、讀取池、寫入池)
<property name="defaultPool">master</property>
<property name="writePool">master</property>
<property name="readPool">slaves</property>

修改amoeba有關數據庫的配置文件dbserver.xml

[root@amoeba local]# vim amoeba/conf/dbServers.xml
## 按照下圖進行修改
#(修改amoeba訪問節(jié)點服務器的賬戶、密碼)
<!-- mysql user -->
    <property name="user">test</property>
<!--  mysql password  -->
    <property name="password">asd123</property>
-------------------------------------------------------------
#(指定主、從服務器節(jié)點地址)
<dbServer name="master"  parent="abstractServer">
    <property name="ipAddress">192.168.142.132</property>
<dbServer name="slave"  parent="abstractServer">
    <property name="ipAddress">192.168.142.136</property>
--------------------------------------------------------------
#(將從服務器劃入讀取地址池中)
<dbServer name="slaves" virtual="true">
    <property name="poolNames">slave</property>

返回主、從服務器數據庫中

##在主、從服務器上開放訪問權限
[root@slave ~]# mysql -u root -p123123     #進入主服務器數據庫(從服務器與主服務器操作相同)
grant all on *.* to test@'192.168.142.%'identified by 'asd123';  #開放test用戶訪問權限

開啟amoeba服務器

[root@amoeba conf]# /usr/local/amoeba/bin/amoeba start &   #調入后臺持續(xù)運行
應用客戶端

? 在安裝好MySQL的前提下,輸入mysql -u amoeba -p123123 -h 192.168.142.142 -P8066即可成功訪問amoeba服務器。

? 此時,進行讀寫操作時將使用主服務器master進行寫入,使用從服務器slave進行讀取。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

名稱欄目:MySQL數據庫進階篇——主從同步與讀寫分離-創(chuàng)新互聯(lián)
本文網址:http://www.rwnh.cn/article36/dgchpg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供自適應網站、關鍵詞優(yōu)化品牌網站建設、Google定制網站、建站公司

廣告

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

小程序開發(fā)
光泽县| 彝良县| 晋宁县| 陇川县| 长汀县| 安吉县| 花垣县| 黑龙江省| 广元市| 连平县| 筠连县| 波密县| 探索| 兴宁市| 屯留县| 涿州市| 凌云县| 库尔勒市| 德江县| 无极县| 无锡市| 和硕县| 五华县| 伊金霍洛旗| 南通市| 余江县| 阿拉尔市| 丹东市| 泸定县| 从江县| 乌什县| 定结县| 晋江市| 江北区| 安溪县| 静乐县| 山东| 樟树市| 大足县| 镇坪县| 宜兰县|