標籤:mysql主從複製
準備
主伺服器IP:192.168.1.100
從伺服器IP:192.168.1.101
在主伺服器上建立資料庫,並添加初始資料,然後匯入到從伺服器
1.分別在主從伺服器上安裝mysql服務,mysql伺服器的版本最好一致,或者主伺服器的版本高於從伺服器
2.在主服務上建立使用者從伺服器同步的使用者,並設定許可權
insert into mysql.user(Host,User,Password) values(‘localhost‘,‘master ‘,password(‘123456‘));
flush privileges;
grant replication slave on *.* to ‘master‘@‘192.168.1.101‘ identified by ‘123456‘ with grant option;
3.設定主從同步
主伺服器
vi /etc/my.cnf #編輯設定檔,在[mysqld]部分添加下面內容
server-id=1 #設定伺服器id,為1表示主伺服器,注意:如果原來的設定檔中已經有這一行,就不用再添加了。
log-bin=mysql-bin #啟動MySQ二進位日誌系統,注意:如果原來的設定檔中已經有這一行,就不用再添加了。
binlog-do-db=master-slave #需要同步的資料庫名,如果有多個資料庫,可重複此參數,每個資料庫一行
binlog-ignore-db=mysql #不同步mysql系統資料庫
:wq! #儲存退出
service mysqld restart #重啟MySQL
從伺服器
vi /etc/my.cnf #編輯設定檔,在[mysqld]部分添加下面內容
server-id=2 #設定伺服器id,為1表示主伺服器,注意:如果原來的設定檔中已經有這一行,就不用再添加了。
log-bin=mysql-bin #啟動MySQ二進位日誌系統,注意:如果原來的設定檔中已經有這一行,就不用再添加了。
binlog-do-db=master-slave #需要同步的資料庫名,如果有多個資料庫,可重複此參數,每個資料庫一行
binlog-ignore-db=mysql #不同步mysql系統資料庫
:wq! #儲存退出
service mysqld restart #重啟MySQL
show master status; #查看主伺服器,出現以下類似資訊
4.在從伺服器上設定同步並開啟同步,查看同步狀態
mysql>
slave stop; #停止slave同步進程
change master to master_host=‘192.168.1.100‘,master_user=‘master ‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000011‘ ,master_log_pos=107;
#執行同步語句(紅色參數是在主伺服器上執行show master status;得到的File、Position參數)
slave start; #開啟slave同步進程
SHOW SLAVE STATUS\G #查看slave同步資訊,出現以下內容表示同步正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
5.測試:在主伺服器中修改資料,查看從伺服器中資料是否改變
本文出自 “程式猿的那些年” 部落格,請務必保留此出處http://uyuyuuy.blog.51cto.com/6190986/1791956
mysql 的主從複製