==========================================================
一:MySQL主從復(fù)制規(guī)劃
==========================================================
二:檢查環(huán)境
(1)檢查MySQL數(shù)據(jù)庫多實(shí)例是否啟動
(2)開啟MySQL主庫的Binlog功能
grep log-bin /data/3306/my.cnf(3)設(shè)置server-id,此處ID不可以相同否則最后出現(xiàn)IO錯誤
grep server-id /data/{3306,3307,3308}/my.cnf/data/3306/my.cnf:server-id = 1/data/3307/my.cnf:server-id = 3/data/3308/my.cnf:server-id = 8==========================================================
三:因為從庫現(xiàn)在還沒有數(shù)據(jù),或者數(shù)據(jù)不統(tǒng)一我們需要導(dǎo)入數(shù)據(jù)
==========================================================
四:主庫上面的操作(3306)
(1)主庫需要授權(quán)slave訪問的用戶rep
提示:replication slave 為mysql同步的必須權(quán)限,此處不要授權(quán)all權(quán)限
(2)鎖表、查看binlog文件及位置點(diǎn),主庫導(dǎo)出全備,需要鎖表(-x –master-date=2)
(3)將MySQL主庫的數(shù)據(jù)進(jìn)行備份
mkdir /server/backup/ -pmysqldump -uroot -poldboy123 -S /data/3306/mysql.sock -A -B --events|gzip >/server/backup/rep3307_bak$(date +%F).sql.gz #由于之前導(dǎo)入的數(shù)據(jù)庫為全量的所以以前的密碼為oldboy123ls -lrt /server/backup/(4)解鎖MySQL數(shù)據(jù)庫的數(shù)據(jù)表,并查看msater的狀態(tài)
unlock table; #解鎖MySQL數(shù)據(jù)庫的數(shù)據(jù)表show master status;提示:如果解鎖之后還是mysql-bin.000004 說明是正確的,如果動了說明沒有鎖住表
提示:如果mysqldump 加了-F 他就會更改刷新binlog
五:從庫1上面的操作(3307)
提示:一定要確保從庫的server_id與從庫的不同
(1)把主庫的備份數(shù)據(jù)導(dǎo)入到從庫
cd /server/backup/gzip -d rep3307_bak2016-07-29.sql.gzmysql -uroot -poldboy -S /data/3307/mysql.sock <rep3307_bak2016-07-29.sql提示從庫的密碼為oldboy
(2)登錄從庫檢查主庫1查看數(shù)據(jù)是否導(dǎo)入成功
(3)刷新用戶的權(quán)限
flush privileges;(4)查找位置點(diǎn),配置master.info,以下為主庫的位置點(diǎn)
show master status; (主數(shù)據(jù)庫執(zhí)行此命令)| mysql-bin.000004 | 600457 | | |CHANGE MASTER TO MASTER_HOST='172.16.1.52', #這是主庫的IP(域名也可以需要做解析)MASTER_PORT=3306, #主庫的端口,從庫端口和主庫不可以相同MASTER_USER='rep', #這是主庫上創(chuàng)建用來復(fù)制的用戶repMASTER_PASSWORD='123456' #rep的密碼MASTER_LOG_FILE='mysql-bin.000025', #這里是show master status時看到的查詢二進(jìn)制日志文件名稱,這里不能多空格MASTER_LOG_POS=9155; #這里是show master status時看到的二進(jìn)制日志偏移量,不能多空格提示:3307操作此步:會在/data/3307/data下面產(chǎn)生master.info文件
(5)登錄3307從庫,配置復(fù)制參數(shù),去掉上述語句中的注釋,執(zhí)行如下
提示:3307操作此步:會在/data/3307/data下面產(chǎn)生master.info文件
ll /data/3307/data/master.info(6)上述步驟成功后,開啟從庫復(fù)制開關(guān)。
start slave;show slave status\G #G后面一定不要加封號,會報錯的(7)主從是否成功,最關(guān)鍵的為下面的3項狀態(tài)參數(shù)
mysql -uroot -poldboy123 -S /data/3307/mysql.sock -e "show slave status\G"|egrep "IO_Running|SQL_Running|_Behind_Master"Slave_IO_Running: Yes #這個是I/O線程狀態(tài),狀態(tài)為Yes表示I/O線程工作正常Slave_SQL_Running: Yes #這個是SQL線程狀態(tài),狀態(tài)為Yes表示I/O線程工作正常Seconds_Behind_Master: 0 #這是個復(fù)制過程中,從庫比主庫的延遲的秒數(shù)(8)測試主庫與從庫是否同步
1.在主庫添加一個新的數(shù)據(jù)庫chris
2.檢查從庫是否有chris這個數(shù)據(jù)庫
mysql> show databases;| chris |刪除主庫的chirs數(shù)據(jù)庫檢查從庫是否刪除
drop database chris; (主庫執(zhí)行)mysql> show databases; (從庫執(zhí)行)==========================================================
六:從庫2上的操作(3308)快速配置
思路:因為我們已經(jīng)有了一個MySQL從庫,所以只需將3307的從庫復(fù)制到3308即可
(1)從主庫中導(dǎo)出數(shù)據(jù)庫,導(dǎo)入從庫
(2)將數(shù)據(jù)導(dǎo)入從庫3308
cd /server/backup/gzip -d rep3308_bak2016-07-29.sql.gzmysql -uroot -poldboy -S /data/3308/mysql.sock < ./rep3308_bak2016-07-29.sql(3)檢查3308數(shù)據(jù)庫是否生成master.info文件
ll /data/3308/data/master.info(4)登錄3308從庫,配置復(fù)制參數(shù)
mysql -uroot -poldboy -S /data/3308/mysql.sockCHANGE MASTER TO MASTER_HOST='172.16.1.52',MASTER_PORT=3306,MASTER_USER='rep',MASTER_PASSWORD='oldboy123';(5)上述步驟成功后,開啟從庫復(fù)制開關(guān)。
start slave;show slave status\G #G后面一定不要加封號,會報錯的(6)主從是否成功,最關(guān)鍵的為下面的3項狀態(tài)參數(shù)
mysql -uroot -poldboy123 -S /data/3307/mysql.sock -e "show slave status\G"|egrep "IO_Running|SQL_Running|_Behind_Master"Slave_IO_Running: Yes #這個是I/O線程狀態(tài),狀態(tài)為Yes表示I/O線程工作正常Slave_SQL_Running: Yes #這個是SQL線程狀態(tài),狀態(tài)為Yes表示I/O線程工作正常Seconds_Behind_Master: 0 #這是個復(fù)制過程中,從庫比主庫的延遲的秒數(shù)==========================================================
七:當(dāng)我們使用show slave status\G查看主從復(fù)制出現(xiàn)故障時,可以看情況跳過
(1)臨時停止同步開關(guān)
(2)將同步指針向下移動一個,如果多次不同步可以重復(fù)操作
set global sql_slave_skip_counter =1;(3)開啟同步開關(guān)
start slave;(4)查看同步信息是否正常
show slave status\G==========================================================
八:測試主庫與從庫是否可以實(shí)現(xiàn)同步
(1)在主庫上創(chuàng)建一個數(shù)據(jù)庫
create database liyajin;(主庫執(zhí)行)(2)查看從庫1,從庫2是否有同步過來
show databases; (從庫1執(zhí)行)| liyajin |show databases; (從庫2執(zhí)行)| liyajin |(3)將主庫中的liyajin數(shù)據(jù)庫刪除,
mysql> drop database liyajin; (主庫執(zhí)行)(4)查看從庫是否也會刪除
show databases; (從庫1執(zhí)行)show databases; (從庫2執(zhí)行)(5)最后查看從庫的同步狀態(tài)是否有錯誤,如果沒有錯誤則MySQL主從復(fù)制配置成功
show slave status\G提示:一般刪除數(shù)據(jù)庫都會有提示同步錯誤,我們需要設(shè)置忽略錯誤即可
九:現(xiàn)在我們來將配置好的MySQL數(shù)據(jù)庫打包成RPM包
依賴包:ncurses-devel libaio-devel cmake將LAMP環(huán)境進(jìn)行RPM打包
(1):設(shè)置打包完成后執(zhí)行的腳本
mkdir /server/scripts/ -pvim /server/scripts/mysql-init.sh#!/bin/bashuseradd -u 505 mysql -s /sbin/nologin -Mchown -R mysql.mysql /data//data/3306/mysql start/data/3307/mysql start/data/3308/mysql start\cp /application/mysql/bin/* /usr/local/sbin/cat >>/etc/rc.local<<EOF#mysql multi instances/data/3306/mysql start/data/3307/mysql start/data/3308/mysql startEOF(3):LAP一鍵RPM包打包(打包以前要關(guān)閉數(shù)據(jù)庫)
/data/3306/mysql stop/data/3307/mysql stop/data/3308/mysql stopfpm -s dir -t rpm -n mysqld -v 1.0 --description '3306,3307,3308' -d 'ncurses-devel libaio-devel cmake' --post-install /server/scripts/mysql-init.sh /application /usr/local/lib/ /usr/local/bin/ /data/總結(jié):
三個實(shí)例數(shù)據(jù)庫密碼都是oldboy123
(4)將制作完成的RPM上傳到服務(wù)器上安裝即可
(5)安裝完成以后的檢查80與3306端口是否打開
ll /application/netstat -ltnp(2)配置YUM客戶端-客戶端配置
cd /etc/yum.repos.d/rm -f /etc/yum.repos.d/{CentOS-Base.repo,epel.repo}mv CentOS-Base.repo CentOS-Base.repo.bakcat >/etc/yum.repos.d/etiantian.repo<<EOF[etiantian]name=Serverbaseurl=http://10.0.0.61enabled=1gpgcheck=0EOFyum clean allyum makecacheyum repolistcd另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文標(biāo)題:快速筆記02-MySQL主從復(fù)制原理半同步操作步驟及原理-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://m.rwnh.cn/article46/djigeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、App開發(fā)、域名注冊、網(wǎng)站設(shè)計公司、商城網(wǎng)站、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容