今天用到的了這塊兒的內容,服務器之間做數據同步,准備兩台服務器,一台做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;
記住查詢到的值:
二、配置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