mysql數據庫 主從復制的設置裝備擺設辦法。本站提示廣大學習愛好者:(mysql數據庫 主從復制的設置裝備擺設辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql數據庫 主從復制的設置裝備擺設辦法正文
MySQL支撐單向、異步復制,復制進程中一個辦事器充任主辦事器,而一個或多個其它辦事器充任從辦事器。主辦事器將更新寫入二進制日記文件,並維 護日記文件的一個索引以跟蹤日記輪回。當一個從辦事器銜接到主辦事器時,它告訴主辦事器從辦事器在日記中讀取的最初一次勝利更新的地位。從辦事器吸收從那 時起產生的任何更新,然後封閉並期待主辦事器告訴下一次更新。
為何應用主從復制?
1、主辦事器/從辦事器設置增長了硬朗性。主辦事器湧現成績時,你可以切換到從辦事器作為備份。
2、經由過程在主辦事器和從辦事器之間切分處置客戶查詢的負荷,可以獲得更好的客戶呼應時光。然則不要同時在主從辦事器長進行更新,如許能夠惹起抵觸。
3、應用復制的另外一個利益是可使用一個從辦事器履行備份,而不會攪擾主辦事器。在備份進程中主辦事器可以持續處置更新。
MySQL 應用3個線程來履行復制功效(個中1個在主辦事器上,另兩個在從辦事器上。當收回START SLAVE時,從辦事器創立一個I/O線程,以銜接主辦事器並讓主辦事器發送二進制日記。主辦事器創立一個線程將二進制日記中的內容發送到從辦事器。從服 務器I/O線程讀取主辦事器Binlog Dump線程發送的內容並將該數據拷貝到從辦事器數據目次中的當地文件中,即中繼日記。第3個線程是SQL線程,從辦事器應用此線程讀取中繼日記並履行日記中包括的更新。SHOW PROCESSLIST語句可以查詢在主辦事器上和從辦事器上產生的關於復制的信息。
默許中繼日記應用 host_name-relay-bin.nnnnnn情勢的文件名,個中host_name是從辦事器主機名,nnnnnn是序 列號。用持續序列號來創立持續中繼日記文件,從000001開端。從辦事器跟蹤中繼日記索引文件來辨認今朝正應用的中繼日記。默許中繼日記索引文件名為 host_name-relay-bin.index。在默許情形,這些文件在從辦事器的數據目次中被創立。中繼日記與二進制日記的格局雷同,而且可以用 mysqlbinlog讀取。當SQL線程履行完中繼日記中的一切事宜後,中繼日記將會被主動刪除。
從辦事器在數據目次中別的創立兩個狀況文件--master.info和relay-log.info。狀況文件保留在硬盤上,從辦事器封閉時不會喪失。下次從辦事器啟動時,讀取這些文件以肯定它曾經從主辦事器讀取了若干二進制日記,和處置本身的中繼日記的水平。
1.設置裝備擺設主辦事器
翻開mysql的設置裝備擺設
vim/usr/local/webserver/mysql/my.cnf
開啟server_id和bin-log日記
server_id = '獨一值'(開啟server_id)
log-bin = /data/mysql/3306/binlog/binlog
2. 設置裝備擺設從辦事器
翻開mysql的設置裝備擺設
vim /usr/local/webserver/mysql/my.cnf
開啟server_id和bin-log日記
server_id = '獨一值'(開啟server_id)
log-bin = /data/mysql/3306/binlog/binlog
修正完設置裝備擺設跋文得重啟數據庫 service mysqld restart
症結點:從數據庫中必需有一個用戶可以在從數據庫的機械上去銜接主辦事器
3.在主數據庫中給從數據庫一個用戶
進入mysql /usr/local/webserver/mysql/bin/mysql -p 暗碼
mysql> grant all on *.* to 用戶@從數據庫的ip identified by '暗碼';
flush privileges;刷新權限
在主數據庫中檢查 show master status;主數據庫的最新的bin-log日記文件名
4.進入從數據庫,履行下邊的sql語句
檢討從數據庫能否可以進入
mysql /usr/local/webserver/mysql/bin/mysql -u
主數據庫給的用戶 -p 暗碼 -h主數據庫的ip ,假如可以進入,則加入
mysql /usr/local/webserver/mysql/bin/mysql -u
暗碼
特殊,在履行change之前必需封閉從庫 stop slave;
mysql> change master to master_host='主數據庫ip',master_user='主數據庫受權的用戶名',master_password='主數據庫受權的暗碼',master_log_file='主數據庫的bin-log日記的文件名',master_log_pos='主數據庫的bin-log日記的position值'
5.開啟從庫 start slave;
6.檢查從庫狀況 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沒成績
主從設置裝備擺設終了
binlog敕令
/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001
檢查binlog日記文件
reset master 初始化binlog日記
show master status; 檢查最新的日記文件和position值
flush logs 刷新log日記文件
start slave 開啟從庫
stop slave 停滯從庫
show slave status;檢查從庫狀況
經由過程binlog日記恢單數據
進入binlog目次
cd /data/mysql/3306/binlog/
檢查binlog列表 ls
檢查binlog日記文件
/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001
恢單數據
/usr/local/webserver/mysql/bin/mysqlbinlog binlog.000001 | /usr/local/webserver/mysql/bin/mysql -p(在沒有清空binlog日記之前可以恢復)
假如履行了 reset master 就沒法恢復
以上就是對 mysql 數據庫 主從復制的設置裝備擺設材料整頓,開辟數據庫須要的同伙可以看下。