程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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