亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql數(shù)據(jù)庫(kù) 主從復(fù)制的配置方法

 更新時(shí)間:2016年07月15日 15:40:39   投稿:lqh  
本文主要介紹 mysql數(shù)據(jù)庫(kù) 主從負(fù)責(zé)的配置方法,在做數(shù)據(jù)庫(kù)開(kāi)發(fā)的時(shí)候有時(shí)候會(huì)遇到,這里做出詳細(xì)流程,大家可以參考下

MySQL支持單向、異步復(fù)制,復(fù)制過(guò)程中一個(gè)服務(wù)器充當(dāng)主服務(wù)器,而一個(gè)或多個(gè)其它服務(wù)器充當(dāng)從服務(wù)器。主服務(wù)器將更新寫(xiě)入二進(jìn)制日志文件,并維 護(hù)日志文件的一個(gè)索引以跟蹤日志循環(huán)。當(dāng)一個(gè)從服務(wù)器連接到主服務(wù)器時(shí),它通知主服務(wù)器從服務(wù)器在日志中讀取的最后一次成功更新的位置。從服務(wù)器接收從那 時(shí)起發(fā)生的任何更新,然后封鎖并等待主服務(wù)器通知下一次更新。

為什么使用主從復(fù)制?

1、主服務(wù)器/從服務(wù)器設(shè)置增加了健壯性。主服務(wù)器出現(xiàn)問(wèn)題時(shí),你可以切換到從服務(wù)器作為備份。

2、通過(guò)在主服務(wù)器和從服務(wù)器之間切分處理客戶查詢的負(fù)荷,可以得到更好的客戶響應(yīng)時(shí)間。但是不要同時(shí)在主從服務(wù)器上進(jìn)行更新,這樣可能引起沖突。

3、使用復(fù)制的另一個(gè)好處是可以使用一個(gè)從服務(wù)器執(zhí)行備份,而不會(huì)干擾主服務(wù)器。在備份過(guò)程中主服務(wù)器可以繼續(xù)處理更新。

MySQL 使用3個(gè)線程來(lái)執(zhí)行復(fù)制功能(其中1個(gè)在主服務(wù)器上,另兩個(gè)在從服務(wù)器上。當(dāng)發(fā)出START SLAVE時(shí),從服務(wù)器創(chuàng)建一個(gè)I/O線程,以連接主服務(wù)器并讓主服務(wù)器發(fā)送二進(jìn)制日志。主服務(wù)器創(chuàng)建一個(gè)線程將二進(jìn)制日志中的內(nèi)容發(fā)送到從服務(wù)器。從服 務(wù)器I/O線程讀取主服務(wù)器Binlog Dump線程發(fā)送的內(nèi)容并將該數(shù)據(jù)拷貝到從服務(wù)器數(shù)據(jù)目錄中的本地文件中,即中繼日志。第3個(gè)線程是SQL線程,從服務(wù)器使用此線程讀取中繼日志并執(zhí)行日志中包含的更新。SHOW PROCESSLIST語(yǔ)句可以查詢?cè)谥鞣?wù)器上和從服務(wù)器上發(fā)生的關(guān)于復(fù)制的信息。

默認(rèn)中繼日志使用 host_name-relay-bin.nnnnnn形式的文件名,其中host_name是從服務(wù)器主機(jī)名,nnnnnn是序 列號(hào)。用連續(xù)序列號(hào)來(lái)創(chuàng)建連續(xù)中繼日志文件,從000001開(kāi)始。從服務(wù)器跟蹤中繼日志索引文件來(lái)識(shí)別目前正使用的中繼日志。默認(rèn)中繼日志索引文件名為 host_name-relay-bin.index。在默認(rèn)情況,這些文件在從服務(wù)器的數(shù)據(jù)目錄中被創(chuàng)建。中繼日志與二進(jìn)制日志的格式相同,并且可以用 mysqlbinlog讀取。當(dāng)SQL線程執(zhí)行完中繼日志中的所有事件后,中繼日志將會(huì)被自動(dòng)刪除。

從服務(wù)器在數(shù)據(jù)目錄中另外創(chuàng)建兩個(gè)狀態(tài)文件--master.info和relay-log.info。狀態(tài)文件保存在硬盤(pán)上,從服務(wù)器關(guān)閉時(shí)不會(huì)丟失。下次從服務(wù)器啟動(dòng)時(shí),讀取這些文件以確定它已經(jīng)從主服務(wù)器讀取了多少二進(jìn)制日志,以及處理自己的中繼日志的程度。

1.配置主服務(wù)器 

打開(kāi)mysql的配置 

vim/usr/local/webserver/mysql/my.cnf 

開(kāi)啟server_id和bin-log日志  

server_id = '唯一值'(開(kāi)啟server_id) 

log-bin = /data/mysql/3306/binlog/binlog 

2. 配置從服務(wù)器  

打開(kāi)mysql的配置 

 vim /usr/local/webserver/mysql/my.cnf 

開(kāi)啟server_id和bin-log日志   

server_id = '唯一值'(開(kāi)啟server_id)   

log-bin = /data/mysql/3306/binlog/binlog  

修改完配置后記得重啟數(shù)據(jù)庫(kù) service mysqld restart  

關(guān)鍵點(diǎn):從數(shù)據(jù)庫(kù)中必須有一個(gè)用戶可以在從數(shù)據(jù)庫(kù)的機(jī)器上去連接主服務(wù)器

3.在主數(shù)據(jù)庫(kù)中給從數(shù)據(jù)庫(kù)一個(gè)用戶  

進(jìn)入mysql /usr/local/webserver/mysql/bin/mysql -p 密碼  

mysql> grant all on *.* to 用戶@從數(shù)據(jù)庫(kù)的ip identified by '密碼';  

flush privileges;刷新權(quán)限  

在主數(shù)據(jù)庫(kù)中查看 show master status;主數(shù)據(jù)庫(kù)的最新的bin-log日志文件名 

4.進(jìn)入從數(shù)據(jù)庫(kù),執(zhí)行下邊的sql語(yǔ)句  

檢查從數(shù)據(jù)庫(kù)是否可以進(jìn)入  

mysql /usr/local/webserver/mysql/bin/mysql -u

主數(shù)據(jù)庫(kù)給的用戶 -p 密碼 -h主數(shù)據(jù)庫(kù)的ip ,如果可以進(jìn)入,則退出 

mysql /usr/local/webserver/mysql/bin/mysql -u

密碼 

特別,在執(zhí)行change之前必須關(guān)閉從庫(kù) stop slave;

mysql> change master to master_host='主數(shù)據(jù)庫(kù)ip',master_user='主數(shù)據(jù)庫(kù)授權(quán)的用戶名',master_password='主數(shù)據(jù)庫(kù)授權(quán)的密碼',master_log_file='主數(shù)據(jù)庫(kù)的bin-log日志的文件名',master_log_pos='主數(shù)據(jù)庫(kù)的bin-log日志的position值' 

5.開(kāi)啟從庫(kù) start slave; 

6.查看從庫(kù)狀態(tài) show slave status\G; 

change master to master_host='101.200.136.226',master_user='zt',master_password='zt',master_log_file=' binlog.000001 ',master_log_pos=4826; 

如果   
   Slave_IO_Running: Yes 
   Slave_SQL_Running: Yes      

  OK沒(méi)問(wèn)題  

主從配置完畢 

binlog命令 

/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001

查看binlog日志文件 

reset master 初始化binlog日志 

show master status; 查看最新的日志文件和position值 

flush logs 刷新log日志文件 

start slave 開(kāi)啟從庫(kù) 

stop slave  停止從庫(kù) 

show slave status;查看從庫(kù)狀態(tài) 

通過(guò)binlog日志恢復(fù)數(shù)據(jù) 

進(jìn)入binlog目錄

cd /data/mysql/3306/binlog/ 

查看binlog列表 ls 

查看binlog日志文件

/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001 

恢復(fù)數(shù)據(jù)

 /usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001 | /usr/local/webserver/mysql/bin/mysql -p(在沒(méi)有清空binlog日志之前可以恢復(fù)) 

如果執(zhí)行了 reset master 就無(wú)法恢復(fù)

以上就是對(duì) mysql 數(shù)據(jù)庫(kù) 主從復(fù)制的配置資料整理,開(kāi)發(fā)數(shù)據(jù)庫(kù)需要的朋友可以看下。

相關(guān)文章

最新評(píng)論