程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> mysql Master Slave主從同步(復制)配置及常見問題

mysql Master Slave主從同步(復制)配置及常見問題

編輯:MYSQL入門知識
 

今天用到的了這塊兒的內容,服務器之間做數據同步,准備兩台服務器,一台做Master,一台slave。
服務器環境:Ubuntu 10.04 64位 Server;
確保兩台服務器的MYSQL版本一致,需要同步的庫等一致;

一、設置Master服務器:
1,編輯Mysql配置文件

vi /etc/mysql/my.cnf

2,打開後,在 [mysqld]加入以下信息:

[mysqld]
log-bin=mysql-bin   //啟用二進制日志
server-id=71        //服務器唯一ID

3,重啟Mysql:

/etc/init.d/mysql restart

4,登錄Mysql,創建slave同步賬戶:

GRANT REPLICATION SLAVE ON *.* to 'backuser'@'192.168.1.190' identified by 'backuserpwd'; 
flush privileges; 

@後面的IP為指定的備份服務器IP,安全起見只允許該IP連接。
5,查看主服務器Master狀態

show master status;

記住查詢到的值:
[備忘]mysql Master Slave主從同步(復制)配置及常見問題

二、配置slave從服務器
前三步配置跟Master的一樣:
1,編輯Mysql配置文件

vi /etc/mysql/my.cnf

2,打開後,在 [mysqld]加入以下信息:

[mysqld]
log-bin=mysql-bin   //啟用二進制日志
server-id=72       //服務器唯一ID,這裡的ID跟Master的不能相同,

3,重啟Mysql:

/etc/init.d/mysql restart

4,更改slave信息:

change master to master_host='192.168.1.193',master_user='backuser',master_password='backuserpwd',master_log_file='mysql-bin.000006',master_log_pos=20555,Master_Port=3301;

上面語句中master_log_file='mysql-bin.000006',master_log_pos=20555為上一步記住的值,Master_Port的值默認是3306,一般可以不用跟上,修改過的就寫上吧~
5,啟動slave:

slave start;     //停止則為stop;

6,查看slave狀態:

show slave status\G;

結果中以下兩條為Yes則說明成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

接著在主服務器數據庫中添加數據測試下吧~
本身挺簡單的,我寫得比較詳細,一步一步列出來。

若無法連接數據庫,切記檢查配置文件中以下內容是否被注釋掉,前加#:

bind-address        = 127.0.0.1

補充:

出現問題:

ERROR 1201 (HY000): Could not initialize master info structure; more error m

解決辦法:

reset slave;

然後:

change master to master_host='192.168.1.193',master_user='backuser',master_password='backuserpwd',master_log_file='mysql-bin.000006',master_log_pos=20555,Master_Port=3301;

接著重新啟動:

slave start;

即可OK,查看狀態:

show slave status \G;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

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