mysql的AB複製

mysql的AB複製

mysql的AB複製是實時同步的,不需要停服務,不需要鎖表。

分兩種情況

一.一臺剛剛安裝好的mysql

主庫:

#vi /etc/my.cnf

log-bin=mysql

server-id=134

#service mysqld restart

#mysql -uroot -p******;

mysql>show master status   查看position (便於後面備份)

mysql>grant replication slave on *.* to [email protected]  identified by '******' 爲slave用戶授權。

從庫:

#vi  /etc/my.cnf

server-id=180

#service mysqld restart

#mysql -uroot -p******

mysql>change master to

mysql>master_host = '192.168.0.134',

mysql>master_user ='slave',

mysql>master_password='******',

mysql>master_log_file ='mysql.000001',

mysql>master_log_pos =106;

mysql>slave start;  啓動同步。

mysql>show slave status\G;  查看是否同步。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

若出現以上兩個Yes則同步成功。 

 

二 一臺已經運行了一段時間的mysql服務器

主庫:

mysql>show master status; 查看position便於後續同步

#mysqldump --all-databases --lock-all-tables --flush-logs --master-data -uroot -p******>/tmp/all.sql

#scp  /tmp/all.sql  192.168.0.180:/tmp

#vi /etc/my.cnf

log-bin=mysql

server-id=134

#service mysqld restart

從庫

#mysql -uroot -p******</tmp/all.sql

#vi  /etc/my.cnf

server-id=180

#service mysqld restart

 

mysql>change master to

mysql>master_host = '192.168.0.134',

mysql>master_user ='slave',

mysql>master_password='******',

mysql>master_log_file ='mysql.000001',

mysql>master_log_pos =106;

mysql>slave start;  啓動同步。

mysql>show slave status;

 

(注意)

1 如果出問題可能是防火牆,日誌問題。

2.如果change master to 敲錯的情況下 先slave stop 再change master to。

3.change master to的優先級高於master.info 。#cat master.info(緩存文件) 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章