萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> 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的日志文件,很有幫助的

copyright © 萬盛學電腦網 all rights reserved