1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        RedHat Linux 9下MySQL雙向同步復制

        發布時間:  2012/9/19 17:13:02

        設置MySQL數據雙向同步

        一、準備服務器
        由于MySQL不同版本之間的(二進制日志)binlog格式可能會不一樣,因此最好的搭配組合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。
        more.. | less.. | 本文中,我們假設主服務器(以下簡稱Master)和從服務器(以下簡稱Slave)的版本都是5.0.27,操作系統是RedHat Linux 9。-
         

        假設同步Master的主機名為:master(IP:192.168.1.123),Slave主機名為:slave(IP:192.168.1.124),2個MySQL的basedir目錄都是/usr/local/mysql,datadir都是:/var/lib/mysql。

        二、設置同步服務器
        1、設置同步Master
        修改 my.cnf 文件,在
        # Replication Master Server (default)
        # binary logging is required for replication
        添加如下內容:
        #log-bin=/var/log/mysql/updatelog
        server-id = 1
        binlog-do-db=discuz
        binlog-ignore-db=mysql
        重啟MySQL,創建一個MySQL帳號為同步專用
        # /usr/local/mysql/bin/mysql -u root -p
        mysql> GRANT REPLICATION SLAVE ON *.* TO [email=]'back'@'%'[/email] IDENTIFIED BY 'back';
        如果想要在Slave上有權限執行 "LOAD TABLE FROM MASTER" 或 "LOAD DATA FROM MASTER" 語句的話,必須授予全局的 FILE 和 SELECT 權限:
        mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO   [email=]'back'@'%'[/email] IDENTIFIED BY 'back';
        mysql> FLUSH PRIVILEGES ;

        2、設置同步Slave
        修改my.cnf文件,添加
        server-id = 2
        master-host = 192.168.1.123
        master-user = back
        master-password = back
        master-port = 3306
        replicate-ignore-db=mysql
        replicate-do-db=discuz

        重啟MySQL

        3、啟動同步
        在主服務器master MySQL命令符下:
        # /usr/local/mysql/bin/mysql -u root -p
        mysql> show master status;
        顯示(當然這個是我機器的情況,你的不可能跟我一樣哈,只是個例子):
        +------------------+----------+-------------------+------------------+
        | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
        +------------------+----------+-------------------+------------------+
        | mysql-bin.000009 | 98 | discuz | mysql |
        +------------------+----------+-------------------+------------------+

        在從服務器master MySQL命令符下:
        # /usr/local/mysql/bin/mysql -u root -p
        mysql> slave stop;
        mysql> change master to master_host='192.168.1.123', master_user='back', master_password='back', master_log_file='mysql-bin.000009', master_log_pos=98;
        mysql> slave start;

        用show slave status\G;看一下從服務器的同步情況
        Slave_IO_Running: Yes
        Slave_SQL_Running: Yes
        如果都是yes,那代表已經在同步
        往表里面寫點數據測試一下看是否同步成功,如果不成功,絕對不是你的RP問題,再檢查一下操作步驟!

        4、設置雙向同步

        修改slave服務器的my.cnf,添加
        log-bin=/var/log/mysql/updatelog
        binlog-do-db=discuz
        binlog-ignore-db=mysql

        重啟MySQL,創建一個MySQL帳號為同步專用
        mysql> GRANT REPLICATION SLAVE ON *.* TO [email=]'back'@'%'[/email] IDENTIFIED BY 'back';
        mysql> GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO   [email=]'back'@'%'[/email] IDENTIFIED BY 'back';
        mysql> FLUSH PRIVILEGES ;

        修改master服務器的my.cnf,添加
        master-host = 192.168.1.124
        master-user = back
        master-password = back
        master-port = 3306
        replicate-ignore-db=mysql
        replicate-do-db=discuz

        重啟MySQL

        在主服務器slave MySQL命令符下:
        show master status;
        +------------------+----------+-------------------+------------------+
        | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
        +------------------+----------+-------------------+------------------+
        | mysql-bin.000013 | 98 | discuz | mysql |
        +------------------+----------+-------------------+------------------+

        在服務器A MySQL命令符下:
        mysql> slave stop;
        mysql> change master to master_host='192.168.1.124', master_user='back', master_password='back', master_log_file='mysql-bin.000013', master_log_pos=98;
        mysql> slave start;

        其實也就是A->B單向同步的反向操作!雙向同步,就這么簡單啦!


        提示:如果修改了主服務器的配置,記得刪除從服務器上的master.info文件。否則從服務器使用的還是老配置,可能會導致錯誤。
        -----------------------------------------------------------------------------------
        注意:關于要復制多個數據庫時,binlog-do-db和replicate-do-db選項的設置,網上很多人說是用半角逗號分隔,經過測試,這樣的說法是錯誤的,MySQL官方文檔也明確指出,如果要備份多個數據庫,只要重復設置相應選項就可以了。
        比如:
        binlog-do-db=a
        binlog-do-db=b
        replicate-do-db=a
        replicate-do-db=b


         


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          1
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线