溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

17mysql復(fù)制

發(fā)布時(shí)間:2020-08-09 16:38:52 來(lái)源:ITPUB博客 閱讀:112 作者:wg0411 欄目:建站服務(wù)器


17mysql復(fù)制

=================

使用mysql復(fù)制的好處
 避免主庫(kù)故障后無(wú)法對(duì)外提供服務(wù)
 避免主庫(kù)備份時(shí)的鎖定,同步后備份再叢庫(kù)上進(jìn)行
 保持多份數(shù)據(jù)副本,避免丟失數(shù)據(jù)
 叢庫(kù)提供讀功能,分散主庫(kù)壓力

基本原理:
 主庫(kù)叢庫(kù)經(jīng)過(guò)初始化保證數(shù)據(jù)相同后主庫(kù)通過(guò)二進(jìn)制日志保持對(duì)數(shù)據(jù)庫(kù)變化的跟蹤
 從庫(kù)根據(jù)相同的日志重演主庫(kù)中數(shù)據(jù)的變化

---------

配置:
 
第一步:
 授權(quán)從庫(kù)可以連接主庫(kù)并進(jìn)行更新
 這個(gè)可以在主庫(kù)上進(jìn)行,方法是創(chuàng)建一個(gè)從庫(kù)的賬戶(hù)也可以使用grant replication
 grant replication slave on *.* to repadmin@slave identified by 'xxxxx';
第二步:
 從主庫(kù)復(fù)制到從庫(kù),實(shí)際上就是初始化,保證兩邊一致
第三步:
 配置主庫(kù),給主庫(kù)一個(gè)復(fù)制id編號(hào),主從的id號(hào)都必須是唯一的
 同時(shí)需要設(shè)定主庫(kù)使用二進(jìn)制日志文件
 server-id=1
 log-bin=binary_log
第四步:
 關(guān)機(jī)并重啟主庫(kù),使新的設(shè)置生效
第五步:
 登錄從庫(kù),給定從庫(kù)一個(gè)復(fù)制id編號(hào)并修改其他參數(shù)
 server-id=2
 master-host=master
 master-user=repadmin
 master-password=xxxxx
第六步:
 修改完從庫(kù)后重啟從庫(kù)和服務(wù)器,使其生效
 從庫(kù)將在數(shù)據(jù)目錄中創(chuàng)建master.info文件,記錄有關(guān)復(fù)制的信息


-------------

管理復(fù)制過(guò)程

change master命令

change master to
 master_host='master_name',
 master_user='slave_name',
 master_password='slave_password',
 master_port='prot_number',
 master_log_file='binlog_filename',
 master_connect_rettry='value',
 relay_log_file='relaylog_filename',
 relay_log_pos='value';

各個(gè)參數(shù)含義:
 master_host    主服務(wù)器主機(jī)名
 master_user    連接主服務(wù)器時(shí)使用的用戶(hù)名
 master_password  連接主庫(kù)使用的密碼
 master_port    連接主庫(kù)使用的端口
 master_log_file  復(fù)制開(kāi)始時(shí)讀取的主庫(kù)的二進(jìn)制日志文件名
 master_log_pos  復(fù)制開(kāi)始時(shí)讀取的主庫(kù)的二進(jìn)制日志文件的位置
 master_connect_rettry  連接操作之間等待的秒數(shù)
 relay_log_file  開(kāi)始復(fù)制時(shí)執(zhí)行的從庫(kù)中繼日志名
 relay_log_pos=  開(kāi)始復(fù)制時(shí)執(zhí)行的從庫(kù)中繼日志位置

--------

purge master命令
 刪除主庫(kù)上的熱進(jìn)制日志

purge master logs to binary-log
purge master logs before date

例:
mysql>purge master logs to bin_log.999;
mysql>purge master logs to now();

-------

start slave命令

開(kāi)始恢復(fù)復(fù)制
show slave status可以監(jiān)督從庫(kù)的活動(dòng)

---------

stop slave命令

終止或者結(jié)束復(fù)制

show slave status提供的信息
 
 connect_regry   試圖連接主庫(kù)的次數(shù)
 read_master_log_pos  主庫(kù)二進(jìn)制日志的位置
 relay_log_file  當(dāng)前中繼日志文件
 relay_log_pos   當(dāng)前中繼日志文件位置
 relay_log_space  所有中繼文件的大小
 
----------

show slave hosts命令

 server_id  從庫(kù)的復(fù)制id
 master_id  主庫(kù)的復(fù)制id
 host    從庫(kù)的主機(jī)名
 port    從庫(kù)的連接端口

----------  

show processlist

 state  包含有關(guān)服務(wù)器正在處理內(nèi)容的信息
 db   線程數(shù)據(jù)庫(kù)
 command 線程執(zhí)行的當(dāng)前語(yǔ)句
 time  線程執(zhí)行的時(shí)間

----------

load data from master

 從庫(kù)從主庫(kù)中獲取數(shù)據(jù)
 但是有有些限制, 


-----------

show binlog events
 顯示日志事件

 log_name  二進(jìn)制文件名
 pos     日志中事件的位置
 event_type 事件類(lèi)型

------------

show master status

 file   二進(jìn)制更新日志文件名
 position 在主庫(kù)正在寫(xiě)的二進(jìn)制日志中的當(dāng)前位置
 binlog_do_db 二進(jìn)制更新日志中記錄的數(shù)據(jù)庫(kù)列表
 binlog_ignore_db 二進(jìn)制更新日志中忽略和沒(méi)有記錄的數(shù)據(jù)庫(kù)列表


 

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI