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