要想實(shí)現(xiàn)mysql自動(dòng)備份的方法有很多種,最常用的是mysql主從同步進(jìn)行數(shù)據(jù)備份,下面我來給各位朋友介紹mysql主從配置同步數(shù)據(jù)庫的方法詳解。
使用MySQL主從復(fù)制的好處有:
1、采用主從服務(wù)器這種架構(gòu),穩(wěn)定性得以提升。如果主服務(wù)器發(fā)生故障,我們可以使用從服務(wù)器來提供服務(wù);
2、在主從服務(wù)器上分開處理用戶的請求,可以提升數(shù)據(jù)處理效率;
3、將主服務(wù)器上的數(shù)據(jù)復(fù)制到從服務(wù)器上,保護(hù)數(shù)據(jù)免受意外的損失;
mysql服務(wù)器的主從配置,本來是一件很簡單的事情,無奈不是從零開始,總是在別人已經(jīng)安裝好的mysql服務(wù)器之上 ,這就會牽扯到,mysql的版本,啟動(dòng)文件,等一些問題。
不過沒關(guān)系,先問清楚兩點(diǎn).
1、mysql配置文件my.cnf的位置
2、如何啟動(dòng)、停止mysql,找好啟動(dòng)文件
假設(shè)有兩臺機(jī)器,已經(jīng)安裝好了mysql,盡量同版本,且兩臺機(jī)器同一網(wǎng)絡(luò),可以ping通,有朋友說:“從服務(wù)器,不能低于主服務(wù)器的版本”,不過我是低于的,沒有出現(xiàn)問題.
主機(jī)A: 192.168.1.100
從機(jī)B:192.168.1.101
可以有多臺從機(jī)
1、先登錄主機(jī) A,代碼如下:
mysql>GRANT REPLICATION SLAVE ON *.* TO ‘backup’@’192.168.1.101‘ IDENTIFIED BY ‘123456’;
賦予從機(jī)權(quán)限,有多臺叢機(jī),就執(zhí)行多次.
2、打開主機(jī)A的my.cnf,輸入,代碼如下:
- server-id = 1 #主機(jī)標(biāo)示,整數(shù)
- log_bin = /var/log/mysql/mysql-bin.log #確保此文件可寫
- read-only =0 #主機(jī),讀寫都可以
- binlog-do-db =test #需要備份數(shù)據(jù),多個(gè)寫多行
- binlog-ignore-db=mysql #不需要備份的數(shù)據(jù)庫,多個(gè)寫多行
3、打開從機(jī)B的my.cnf,輸入,代碼如下:
- server-id = 2
- log_bin = /var/log/mysql/mysql-bin.log
- master-host =192.168.1.100 --Vevb.com
- master-user =backup
- master-pass =123456
- master-port =3306
- master-connect-retry=60 #如果從服務(wù)器發(fā)現(xiàn)主服務(wù)器斷掉,重新連接的時(shí)間差(秒)
- replicate-do-db =test #只復(fù)制某個(gè)庫
- replicate-ignore-db=mysql #不復(fù)制某個(gè)庫
4、同步數(shù)據(jù)庫
有多種方法,我說最笨的一種,先mysqldump導(dǎo)出主機(jī)A的數(shù)據(jù)test為 test.sql,然后在,從機(jī)B上建立數(shù)據(jù)庫test,mysql導(dǎo)入 test.sql到test庫中.
5、先重啟主機(jī)A的mysql,再重啟從機(jī)B的mysql
6、驗(yàn)證
在主機(jī)A中,mysql>show master status/G;
在從機(jī)B中,mysql>show slave status/G;
能看到大致這些內(nèi)容:
- File: mysql-bin.000001
- Position: 1374
- Binlog_Do_DB: test
- Binlog_Ignore_DB: mysql
可以在主機(jī)A中,做一些INSERT,UPDATE,DELETE 操作,看看主機(jī)B中,是否已經(jīng)被修改.
新聞熱點(diǎn)
疑難解答
圖片精選