
原文鏈接
原來想要簡(jiǎn)單地實(shí)現(xiàn)MySQL的主從復(fù)制其實(shí)也是很簡(jiǎn)單的(這里當(dāng)然不包括服務(wù)監(jiān)控和容錯(cuò)處理啦)
1.要檢查主從服務(wù)器的MySQL版本,最好版本一致,不然會(huì)出現(xiàn)各種問題,特別是,5.5和5.6是不會(huì)兼容的
2.修改兩個(gè)服務(wù)器的mysql配置vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin // 打開二進(jìn)制日志
server-id=41 // 服務(wù)器的唯一ID,為0表示拒絕所有從服務(wù)器的連接
分別修改兩個(gè)服務(wù)器配置然后分別重啟
3.主服務(wù)器建立賬戶:這個(gè)賬戶與普通賬戶不一樣,它只能用于主從復(fù)制中:
mysql> GRANT REPLICATION SLAVE ON *.* to 'master'@'%' identified by 'mysql';
4.查看服務(wù)器狀態(tài)
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000004 | 615261 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
需要注意的是,這兩個(gè)值都得記下來喲
5.將主服務(wù)器數(shù)據(jù)庫(kù)dump然后導(dǎo)入到從服務(wù)器,記下了Position就不用擔(dān)心dump后新增數(shù)據(jù)的情況,會(huì)自動(dòng)同步的
6.配置從服務(wù)器
mysql> change master to master_host='192.168.1.41', master_user='xiaohao', master_password='mysql', master_log_file='mysql-bin.000004', master_log_pos=615261; # 這里就是剛才的Position
7.啟動(dòng)從服務(wù)器
mysql> start slave; # 同理,停止用stop slave
8.查看復(fù)制狀態(tài)
mysql> show slave status\G
**_*_****_*_****_*_****_*_* 1. row ****_*_****_*_****_*_******
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.41
Master_User: xiaohao
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 652289
Relay_Log_File: ubuntu-relay-bin.000002
Relay_Log_Pos: 37345
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
必須保證Slave_IO_Running和Slave_SQL_Running都為Yes的時(shí)候才正確的