《MYSQL數(shù)據(jù)庫mysql數(shù)據(jù)庫 主從復(fù)制的配置方法》要點(diǎn):
本文介紹了MYSQL數(shù)據(jù)庫mysql數(shù)據(jù)庫 主從復(fù)制的配置方法,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
MYSQL應(yīng)用MySQL支持單向、異步復(fù)制,復(fù)制過程中一個(gè)服務(wù)器充當(dāng)主服務(wù)器,而一個(gè)或多個(gè)其它服務(wù)器充當(dāng)從服務(wù)器.主服務(wù)器將更新寫入二進(jìn)制日志文件,并維 護(hù)日志文件的一個(gè)索引以跟蹤日志循環(huán).當(dāng)一個(gè)從服務(wù)器連接到主服務(wù)器時(shí),它通知主服務(wù)器從服務(wù)器在日志中讀取的最后一次成功更新的位置.從服務(wù)器接收從那 時(shí)起發(fā)生的任何更新,然后封鎖并等待主服務(wù)器通知下一次更新.
MYSQL應(yīng)用為什么使用主從復(fù)制?
MYSQL應(yīng)用1、主服務(wù)器/從服務(wù)器設(shè)置增加了健壯性.主服務(wù)器出現(xiàn)問題時(shí),你可以切換到從服務(wù)器作為備份.
MYSQL應(yīng)用2、通過在主服務(wù)器和從服務(wù)器之間切分處理客戶查詢的負(fù)荷,可以得到更好的客戶響應(yīng)時(shí)間.但是不要同時(shí)在主從服務(wù)器上進(jìn)行更新,這樣可能引起沖突.
MYSQL應(yīng)用3、使用復(fù)制的另一個(gè)好處是可以使用一個(gè)從服務(wù)器執(zhí)行備份,而不會(huì)干擾主服務(wù)器.在備份過程中主服務(wù)器可以繼續(xù)處理更新.
MYSQL應(yīng)用MySQL 使用3個(gè)線程來執(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語句可以查詢?cè)谥鞣?wù)器上和從服務(wù)器上發(fā)生的關(guān)于復(fù)制的信息.
MYSQL應(yīng)用默認(rèn)中繼日志使用 host_name-relay-bin.nnnnnn形式的文件名,其中host_name是從服務(wù)器主機(jī)名,nnnnnn是序 列號(hào).用連續(xù)序列號(hào)來創(chuàng)建連續(xù)中繼日志文件,從000001開始.從服務(wù)器跟蹤中繼日志索引文件來識(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)刪除.
MYSQL應(yīng)用從服務(wù)器在數(shù)據(jù)目錄中另外創(chuàng)建兩個(gè)狀態(tài)文件--master.info和relay-log.info.狀態(tài)文件保存在硬盤上,從服務(wù)器關(guān)閉時(shí)不會(huì)丟失.下次從服務(wù)器啟動(dòng)時(shí),讀取這些文件以確定它已經(jīng)從主服務(wù)器讀取了多少二進(jìn)制日志,以及處理自己的中繼日志的程度.
MYSQL應(yīng)用1.配置主服務(wù)器?
MYSQL應(yīng)用打開mysql的配置?
MYSQL應(yīng)用
vim/usr/local/webserver/mysql/my.cnf
MYSQL應(yīng)用開啟server_id和bin-log日志??
MYSQL應(yīng)用server_id = '唯一值'(開啟server_id)?
MYSQL應(yīng)用log-bin = /data/mysql/3306/binlog/binlog?
MYSQL應(yīng)用2. 配置從服務(wù)器??
MYSQL應(yīng)用打開mysql的配置?
MYSQL應(yīng)用
vim /usr/local/webserver/mysql/my.cnf
MYSQL應(yīng)用開啟server_id和bin-log日志???
MYSQL應(yīng)用server_id = '唯一值'(開啟server_id)???
MYSQL應(yīng)用
log-bin = /data/mysql/3306/binlog/binlog
MYSQL應(yīng)用修改完配置后記得重啟數(shù)據(jù)庫 service mysqld restart??
MYSQL應(yīng)用關(guān)鍵點(diǎn):從數(shù)據(jù)庫中必須有一個(gè)用戶可以在從數(shù)據(jù)庫的機(jī)器上去連接主服務(wù)器
MYSQL應(yīng)用3.在主數(shù)據(jù)庫中給從數(shù)據(jù)庫一個(gè)用戶??
MYSQL應(yīng)用進(jìn)入mysql /usr/local/webserver/mysql/bin/mysql -p 密碼??
MYSQL應(yīng)用mysql> grant all on *.* to 用戶@從數(shù)據(jù)庫的ip identified by '密碼';??
MYSQL應(yīng)用flush privileges;刷新權(quán)限??
MYSQL應(yīng)用在主數(shù)據(jù)庫中查看 show master status;主數(shù)據(jù)庫的最新的bin-log日志文件名?
MYSQL應(yīng)用4.進(jìn)入從數(shù)據(jù)庫,執(zhí)行下邊的sql語句??
MYSQL應(yīng)用檢查從數(shù)據(jù)庫是否可以進(jìn)入??
MYSQL應(yīng)用
mysql /usr/local/webserver/mysql/bin/mysql -u
MYSQL應(yīng)用主數(shù)據(jù)庫給的用戶 -p 密碼 -h主數(shù)據(jù)庫的ip ,如果可以進(jìn)入,則退出?
MYSQL應(yīng)用
mysql /usr/local/webserver/mysql/bin/mysql -u
MYSQL應(yīng)用密碼?
MYSQL應(yīng)用特別,在執(zhí)行change之前必須關(guān)閉從庫 stop slave;
MYSQL應(yīng)用mysql> change master to master_host='主數(shù)據(jù)庫ip',master_user='主數(shù)據(jù)庫授權(quán)的用戶名',master_password='主數(shù)據(jù)庫授權(quán)的密碼',master_log_file='主數(shù)據(jù)庫的bin-log日志的文件名',master_log_pos='主數(shù)據(jù)庫的bin-log日志的position值'?
MYSQL應(yīng)用5.開啟從庫 start slave;?
MYSQL應(yīng)用6.查看從庫狀態(tài) show slave status\G;?
MYSQL應(yīng)用
change master to master_host='101.200.136.226',master_user='zt',master_password='zt',master_log_file=' binlog.000001 ',master_log_pos=4826;
MYSQL應(yīng)用如果???
?? Slave_IO_Running: Yes?
?? Slave_SQL_Running: Yes??????
MYSQL應(yīng)用? OK沒問題??
MYSQL應(yīng)用主從配置完畢?
MYSQL應(yīng)用binlog命令?
MYSQL應(yīng)用
/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001
MYSQL應(yīng)用查看binlog日志文件?
MYSQL應(yīng)用reset master 初始化binlog日志?
MYSQL應(yīng)用show master status; 查看最新的日志文件和position值?
MYSQL應(yīng)用flush logs 刷新log日志文件?
MYSQL應(yīng)用start slave 開啟從庫?
MYSQL應(yīng)用stop slave? 停止從庫?
MYSQL應(yīng)用show slave status;查看從庫狀態(tài)?
MYSQL應(yīng)用通過binlog日志恢復(fù)數(shù)據(jù)?
MYSQL應(yīng)用進(jìn)入binlog目錄
MYSQL應(yīng)用
cd /data/mysql/3306/binlog/
MYSQL應(yīng)用查看binlog列表 ls?
MYSQL應(yīng)用查看binlog日志文件
MYSQL應(yīng)用
/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001
MYSQL應(yīng)用恢復(fù)數(shù)據(jù)
MYSQL應(yīng)用?/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001 | /usr/local/webserver/mysql/bin/mysql -p(在沒有清空binlog日志之前可以恢復(fù))?
MYSQL應(yīng)用如果執(zhí)行了 reset master 就無法恢復(fù)
MYSQL應(yīng)用以上就是對(duì) mysql 數(shù)據(jù)庫 主從復(fù)制的配置資料整理,開發(fā)數(shù)據(jù)庫需要的朋友可以看下.
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/2331.html