1绷跑、主從備份
首先在兩臺mysql數(shù)據(jù)庫開啟binlog日志潦闲,同時(shí)加上server-id,server-id不能相同
vim /etc/mysql/mysql.conf.d/mysqld.cnf? (ubuntu18下的mysql配置文件位置)
開啟binlog日志,和server-id
添加:
log-bin=/var/log/mysql/mysql-bin.log
server-id=3
同理第二臺mysql以同樣方式開啟田柔,注意server-id號不能相同
這里以id=3為主服務(wù)器
進(jìn)入主服務(wù)器的mysql中,在mysql中使用命令:show master status; 查看binlog日是否開啟,并且在從服務(wù)器接受授權(quán)時(shí)需要該信息
在主服務(wù)器中為從服務(wù)器授權(quán)
grant replication slave on *.* to root@'IP' identified by '密碼‘;
flush privileges; #刷新權(quán)限
注:on *.* 授權(quán)備份的數(shù)據(jù)庫或者表
再從服務(wù)器中接受授權(quán)信息
change master to master_user='root',master_password='密碼'九妈,master_host='IP',master_log_file='mysql-bin.000003',master_log_pos='4286';
#master_user 主機(jī)用戶
#master_password 主機(jī)密碼
#master_host 主機(jī)ip
#master_log_file binlog日志(master status信息中展示的File部分)
#master_log_pos 日志文件大小(master status中的Position信息)
在開啟slave服務(wù)
start slave雾鬼;
在查看slave狀態(tài)是否正確
show slave status\G;
在主服務(wù)器中測試萌朱,創(chuàng)建一個(gè)數(shù)據(jù)庫
create database qwe;
在從服務(wù)器使用 show databases;命令,查看是否同步
2策菜、一主多從備份
該備份主從備份類似晶疼,都需要開啟server-id和binlog日志
繼續(xù)上面步驟,在主服務(wù)器中為新的從服務(wù)器授權(quán)又憨,?
grant replication slave on *.* to root@'IP' identified by '密碼';
flush privileges;
在從服務(wù)器中接受授權(quán)
change master to master_user='root',master_password='密碼'翠霍,master_host='IP',master_log_file=' ',master_log_pos=' ';
注:此時(shí)master_log_file和master_log_pos可能發(fā)生改變,應(yīng)在主服務(wù)器中重新查看master狀態(tài)蠢莺,show master status;
在開啟slave狀態(tài)
start slave;
同樣在主服務(wù)器中創(chuàng)建新的數(shù)據(jù)庫寒匙,檢測兩個(gè)從服務(wù)器是否能查詢。
3浪秘、主主備份
在兩個(gè)mysql數(shù)據(jù)庫中同時(shí)開啟主服務(wù)器權(quán)限蒋情,也同時(shí)接受對方服務(wù)器授權(quán)權(quán)限埠况。即互相開啟主從權(quán)限。
操作同主從備份一樣棵癣,不同之處在從服務(wù)器向主服務(wù)器開啟master權(quán)限辕翰,進(jìn)行g(shù)rant授權(quán),同時(shí)在主服務(wù)器中接受從服務(wù)器授權(quán)狈谊,change master to喜命。
在主服務(wù)器開啟slave:
start slave;
主主備份搭建完成。
補(bǔ)充:
在主從備份后要將主從備份之前的數(shù)據(jù)同步河劝,使用mysqldump工具將之前的數(shù)據(jù)從主服務(wù)器導(dǎo)出壁榕,在通過ftp等方式傳輸?shù)綇姆?wù)器中,將數(shù)據(jù)導(dǎo)入到從服務(wù)器的mysql中來實(shí)現(xiàn)數(shù)據(jù)同步赎瞎。