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

MYSQL主從數據庫同步備份配置

編輯:關於MYSQL數據庫

MySQL主從數據庫同步備份配置 收藏 用兩台服務器做測試:
Master Server: 192.0.0.1/Linux/MySQL 4.1.12
Slave Server: 192.0.0.2/Linux/MYSQL 4.1.18     做主從服務器的原則是,MYSQL版本要相同,如果不能滿足,最起碼從服務器的MYSQL的版本必須高於主服務器的MySQL版本

二、配置master服務器
1. 登錄Master服務器,編輯my.cnf
#vim /etc/my.cnf
在[MySQLd]段添加以下內容:

[MySQLd]
log-bin=MySQL-bin
server-id=1
binlog-do-db=extmail
binlog-ignore-db=MySQL,test

解釋:log-bin項是讓Master服務器記錄二進制日志這個是必須的;
server-id=master_id 其中master_id必須為1到232–1之間的一個正整數值;
binlog-do-db=database 是要記錄日志的數據庫;
binlog-ignore-db 是不要記錄日志的數據庫名,多個數據庫中間用逗號(,)隔開;

2.從master服務器添加要從slave服務器訪問master服務器的有權限的帳號,看下面命令就知道了:

MySQL> grant replication slave on *.*
-> to 'abc'@'192.0.0.2' identifIEd by '123';

格式:MySQL> GRANT REPLICATION SLAVE ON *.*
   -> TO '帳號'@'從服務器IP或主機名' IDENTIFIED BY '密碼';

3. 重起MySQL

4. 備份master數據庫數據

# MySQLdump --master-data extmail > extmail_backup_20071120.sql

要加--master-data 選項,這裡備份master服務器的數據,後面要導入slave服務器。

5. 察看Master狀態

mysql> show master status; | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | | mysql-bin.000002 |       79 | extmail      | MySQL,test       | 1 row in set (0.00 sec)

三、配置slave服務器
1. 編輯my.cnf
# vim /etc/my.cnf

在[MySQLd]段添加以下內容:

server-id=2
master-host=192.0.0.1
master-port=3306
master-user=abc
master-passWord=123
master-connect-retry=60

解釋:
slave服務器的server-id不能與master相同,多台slave之間server-id也不能相同。
master-host 是 master服務器的主機名或者IP地址
master-user和master-passWord是前面我們在master上建用戶名和密碼
master-connect-retry 是如果從服務器發現主服務器斷掉,重新連接的時間差

2. 把從主數據庫服務器備份出來的數據庫導入到從服務器中,也就是我們前面的extmail_backup_20071120.sql

# MySQLadmin create extmail
# MySQL extmail < extmail_backup_20071120.sql

3. 重起MySQL服務器
4. 停止slave服務,設置主服務器的各種參數

MySQL> slave stop;
MySQL> change master to
-> MASTER_HOST='192.0.0.1',
-> MASTER_USER='abc',
-> MASTER_PASSWord='123',
-> MASTER_LOG_FILE='MySQL-bin.000002',
-> MASTER_LOG_POS=79;
MySQL> slave start;

5. 查看主從服務器的狀態
MySQL> show processlist;

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