MySQL主從同步配置記錄

靜以致遠√團團發表於2015-06-17
/**************** MySQL主從同步配置記錄 (5.1.17及以上版本) ********************/

主庫上建立mybackup使用者,該使用者將作為主備庫資料同步使用者
[root@test ~]# mysql -u root -p 
mysql> grant replication slave  on *.* to 'mybackup'@'192.168.20.137' identified by 'work123';


修改主庫的配置檔案
[root@test ~]# vi /etc/my.cnf

server-id=1 #指定資料庫伺服器ID
log_bin=mysql-bin #啟用二進位制日誌系統
binlog-do-db=mydb1 #指定要做同步的資料庫
binlog-do-db=mydb2
binlog-ignore-db=mysql  #指定不用做同步的資料庫


重啟主庫,檢視配置資訊
[root@test ~]# /etc/init.d/mysql restart
[root@test ~]# mysql -u root -p 
mysql> show master status;
File Position  Binlog_Do_DB  Binlog_Ignore_DB 
...  ...       ...           ...
其中File和Position的值要注意,是備庫配置時所需要的資訊


修改備庫的配置檔案
[root@test ~]# vi /etc/my.cnf


server-id=2 #備庫資料庫伺服器ID
log_bin=mysql-bin #啟用二進位制日誌系統
replicate-do-db=mydb1 #設定做同步的資料庫
replicate-do-db=mydb2
replicate-ignore-db=mysql  #設定不做同步的資料庫


重啟備庫使配置生效
[root@test ~]# /etc/init.d/mysql restart


配置資料庫資訊
[root@test ~]# mysql -u root -p 
mysql> stop slave;   #關閉同步程式
mysql> change master to master_host='192.168.20.163',master_user='mysync',master_password='work123',master_log_file='File' ,master_log_pos=Position; #配置同步資訊
mysql> slave start; #開啟同步程式


複製要同步的資料庫到備庫
如有必要,備份主庫之前,將資料庫改為只讀模式,防止備份期間有資料的寫入,備份完成後再解鎖
mysql> flush tables with read lock; 
mysql> unlock tables;
匯出要同步的兩個資料庫,並複製至備庫伺服器
[root@test ~]# mysqldump -u root -p mydb1 > /home/mydb1.sql 
[root@test ~]# mysqldump -u root -p mydb2 > /home/mydb2.sql 
[root@test ~]# scp /home/mydb1.sql 192.168.20.137:/home/
[root@test ~]# scp /home/mydb2.sql 192.168.20.137:/home/


備庫上建立資料庫並匯入資料
[root@test ~]# create database mydb1;
[root@test ~]# create database mydb2;
[root@test ~]# use mydb1;
[root@test ~]# source /home/mydb1.sql
[root@test ~]# use mydb2;
[root@test ~]# source /home/mydb2.sql


驗證
備庫上檢視同步資訊
mysql>  SHOW SLAVE STATUS\G


Slave_IO_Running: Yes
Slave_SQL_Running: Yes


該兩個引數為Yes視為成功


還需主庫運算元據,驗證備庫同步情況。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29320885/viewspace-1702540/,如需轉載,請註明出處,否則將追究法律責任。

相關文章