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倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Linux環境下單機上實現MySQL5主從數據庫同步復制

        發布時間:  2012/9/18 17:20:08

        1.安裝MySQL(http://www.linuxidc.com/Linux/2009-03/18988.htm
        2.啟動多個MySQL服務器
            要實現在單機上啟動多個MySQL服務器,有兩種方法,一種是直接使用mysqld_safe來運行多個服務器-
         

        當然這樣分別編輯配置文件,而且關閉服務器的時候也要讀取配置文件,所以比較麻煩,另一種方法是使用
        MySQL提供到工具mysqld_multi腳本來管理多個服務器,下面使用的方法是mysqld_safe來實現。
        3.前置條件
            假設MySQL安裝到目錄為/usr/local/mysql/,設為MYSQL_DIR通常它是一個鏈接文件。
            數據文件目錄為$MYSQL_DIR/data。
        現在要添加另一個服務器的數據目錄,因為為了模擬分布式服務器到同步,不可能讓多個服務器共享一個數據目錄。
        $cd $MYSQL_DIR
        $sudo cp -r -p data var2
            上面的指令將data保留原來到權限復制一份到var2,var2也就是另一個服務器的數據目錄,這樣,在原始
        狀態下,兩個數據庫服務器的數據是一致的。
        4.假設有MySQL的合法用戶root:root。
        5.啟動安裝好以后的那個服務器
            $cd $MYSQL_DIR/bin
            $sudo ./mysqld_safe --user=mysql --binlog-do-db=test &
            上面的命令表示啟動服務器并且使用二進制日志記錄數據庫test的更新動作。
        6.測試是否啟動成功
            $mysql -u root -p -S/tmp/mysql.sock
            輸入密碼后,如果能夠成功登錄的話表示成功,這里最容易出現2002錯誤,表示socket文件錯誤,你可以
        使用命令
            $ps aux|grep mysql
        來查看當前服務器使用的socket文件,然后在登錄的時候使用相應的socket文件。
        7.編輯配置文件
            $sudo vi /etc/my.cnf
        最初的時候,這個配置文件是針對前面啟動的服務器的,現在我們把它修改一下,然后就可以啟動另一個服務器
        找到[mysqld]段落,然后修改如下:
        [mysqld]
        server-id=2    #原來是1
        socket=/tmp/mysql.sock2    #原來是/tmp/mysql.sock
        port=3307                #原來是3306
        #下面3行是添加的
        pid-file=$MYSQL_DIR/var2/localhost.pid2
        datadir=$MYSQL_DIR/var2
        log=$MYSQL_DIR/var2/db2.log
            注意使用最前面的MySQL安裝目錄來代替上面的$MYSQL_DIR。
        8.啟動第二個服務器
            $cd $MYSQL_DIR/bin
            $sudo ./mysqld_safe --user=mysql  &
        9.測試第二個服務器
            $mysql -u root -p -P 3307 -S /tmp/mysql.sock2
            輸入密碼后,應該能夠正確連接到mysql服務器。
        現在,兩個服務器能夠正常的運行在同一臺機器上了,剩下的就是配置主從服務器,然后讓主服務器更新,從服務器
        連接主服務器并且保持同步。
        10.同步服務器
            注意到我們啟動第一個服務器的時候使用了一個參數--binlog-do-db=test表示,我們希望把數據庫test的更新
        操作都記錄到二進制日志文件中。
            1)登錄到主服務器
                $mysql -u root -p -P 3306 -S /tmp/mysql.sock
            2)查看主服務器的狀態   
                mysql>show processlist\G
                    上面這條命令執行后應該看到至少兩個線程,第一個就是登錄的線程,第二個就是發送二進制日志
                    的線程。
                mysql>flush tables with read lock;
                mysql>show master status;
                mysql>unlock tables;
            記住show master status\G命令輸出的結果,這里的File是二進制日志文件,Position是偏移量,Binlog_Do_DB
        表示對哪些數據庫記錄更新操作,Binlog_Ignore_DB表示忽略哪些數據庫更新。待會兒配置從服務器時要使用File和
        Position。
            3)登錄到從服務器
                $mysql -u root -p -P 3307 -S /tmp/mysql.sock2
            4)配置從服務器
                首先要確保停止從服務器同步線程
                mysql>stop slave;
                然后設置主服務器參數
                mysql>change master to
                    ->master_host='127.0.0.1',
                    ->master_user='root',
                    ->master_password='root',
                    ->master_log_file='mysql-bin.000016',
                    ->master_log_pos=102;
                最后啟動從服務器同步線程
                mysql>start slave;
                檢查從服務器同步線程是否啟動成功
                mysql>show slave status\G
                    如果從上面的輸出中看到了IO線程和LOG線程都是YES的話,那么表示啟動成功,最后一行輸出表示從服務器
                    比主服務器滯后多少。
                查看線程
                mysql>show processlist;
                    當從服務器同步成功啟動以后,上面這條命令應該輸出至少3個線程,第一個是登錄線程,第二個是IO線程,第
                    三個是日志線程。
        11.測試同步
            在主服務器中的數據庫test中任意執行一些更新操作,然后在從服務器中查看,應該馬上就能夠看到更新結果
         


        本文出自:億恩科技【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號
          0
         
         
         
         

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

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