mysql復(fù)制
一主一從
座雙機(jī)熱備
1.log-bin必須是打開的
進(jìn)入
mysql查看 狀態(tài),如果時(shí)候ON表示是開啟,OFF表示關(guān)閉
show variables like '%log_bin%';
2.設(shè)置log-bin為ON,注意mysql主機(jī)或備機(jī)都有兩個(gè)my.cnf需要設(shè)置
路徑1:/opt/rh/mysql55/root/etc/my.cnf 安裝路徑,優(yōu)先級(jí)高于/etc/my.cnf
路徑2:/etc/my.cnf
主機(jī)master
設(shè)置my.cnf
[mysqld]
log-bin=mysql-bin //[必須]啟用二進(jìn)制日志
server-id=23 //[必須]
服務(wù)器唯一ID,默認(rèn)是1,一般取IP最后一段
重啟服務(wù)
service mysql55-mysqld restart
設(shè)置備機(jī)訪問的權(quán)限
-- REPLICATION SLAVE這是全局復(fù)制,該權(quán)限(REPLICATION SLAVE)是一個(gè)全局權(quán)限
--涉及到時(shí)通過外部zxlh賬戶進(jìn)行數(shù)據(jù)的修改,給zxlh賬戶實(shí)時(shí)備份的權(quán)限
GRANT REPLICATION SLAVE ON *.* TO zxlh@'10.50.28.24' IDENTIFIED BY 'zxlh';
無法定位問題時(shí),查看var/log/mysql55-mysqld.log,錯(cuò)誤日志在這個(gè)文件
查看主機(jī)是否設(shè)置完成
show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 | 308 |
備機(jī)
設(shè)置my.cnf
[mysqld]
log-bin=mysql-bin //[必須]啟用二進(jìn)制日志
server-id=24 //[必須]服務(wù)器唯一ID,默認(rèn)是1,一般取IP最后一段
備機(jī)
change master to master_host='10.50.28.23',master_user='zxlh',master_password='zxlh',master_log_file='mysql_bin.000011',master_log_pos=11137524
change master to master_host='10.50.28.23',master_user='zxlh',master_password='zxlh',master_log_file='mysql_bin.000025',master_log_pos=27133152;
change master to master_host='10.50.30.35',master_user='zxlh',master_password='zxlh223456',master_log_file='mysql-bin.000023',master_log_pos=499382400;
start slave; //啟動(dòng)從服務(wù)器復(fù)制功能
查看備機(jī)狀態(tài)
show slave status\G
Slave_IO_Running: Yes //此狀態(tài)必須YES
Slave_SQL_Running: Yes //此狀態(tài)必須YES
注:Slave_IO及Slave_SQL進(jìn)程必須正常運(yùn)行,即YES狀態(tài),否則都是錯(cuò)誤的狀態(tài)(如:其中一個(gè)NO均屬錯(cuò)誤)。
以上操作過程,主從服務(wù)器配置完成
show master status\G
清除2015-05-22之前的日志
purge master logs before '2015-05-22 00:00:00'
查看日志
show master logs
PS:從庫(kù)中最好不要加會(huì)更改數(shù)據(jù)的觸發(fā)器,會(huì)導(dǎo)致重復(fù)更改數(shù)據(jù)