程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 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]段添加以下內容:

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