程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql 主從數據庫配置

mysql 主從數據庫配置

編輯:關於MYSQL數據庫

    首先設置MySQL主服務器:

      在主服務器上為從服務器建立一個用戶:

      1.grant replication slave on *.* to 192.168.0.1 identified by '1234';

      #4.1以後用這個,以前可以用 file.

      #grant file on *.* to 192.168.0.1 identified by '1234';

      #後來我又加了super和client save權限,可以先不加.然後再試.

      配置文件:/etc/my.cnf

      2.主服務器上

      server-id = 1

      log-bin

      binlog-do-db=需要備份的數據庫名,如果備份多個數據庫,重復設置這個選項即可

      binlog-ignore-db=不需要備份的數據庫苦命,如果備份多個數據庫,重復設置這個選項即可

      3.從服務器上

      log-bin

      server-id=2

      master-host=主機

      master-user=用戶名

      master-password=密碼

      master-port=端口

      replicate-do-db=需要備份的數據庫名,如果備份多個數據庫,重復設置這個選項即可

      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

      就這麼簡單照上面的配置就可以了.

      主服務器上的相關命令:

    show master status
    show slave hosts
    show logs
    show binlog events
    purge logs to 'log_name'
    purge logs before 'date'
    reset master(老版本flush master)
    set sql_log_bin=

      從服務器上的相關命令:

    slave start
    slave stop
    SLAVE STOP IO_THREAD //此線程把master段的日志寫到本地
    SLAVE start IO_THREAD
    SLAVE STOP SQL_THREAD //此線程把寫到本地的日志應用於數據庫
    SLAVE start SQL_THREAD
    reset slave
    SET GLOBAL SQL_SLAVE_SKIP_COUNTER
    load data from master
    show slave status(SUPER,REPLICATION CLIENT)
    CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //動態改變master信息
    PURGE MASTER [before 'date'] 刪除master端已同步過的日志
      
    #

      後話:

      做實驗的時候是給一台運行很久的而且很關鍵的數據庫做備份,遇到的問題兩個

      1.兩個數據庫的配置文件不一樣.

      竟然字體還不一樣.無語ing

      2.數據庫文件不一致問題,這是後來操作中產生的.所以無論主服務器多重要要做從服務器的時候一定把主服務器

      停了,把東西拷到從服務器上.

      再就是多看看mysql的日志文件,很有幫助的

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved