您好,登錄后才能下訂單哦!
這篇文章主要介紹“MySQL5.7怎么用mysqldump搭建gtid主從”,在日常操作中,相信很多人在MySQL5.7怎么用mysqldump搭建gtid主從問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL5.7怎么用mysqldump搭建gtid主從”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
最近需要把一個老系統(tǒng)升級到新系統(tǒng),主要是硬件更新。
在新硬件這邊搭建了一主兩從的環(huán)境,數(shù)據(jù)主要是開發(fā)人員導(dǎo)入到新系統(tǒng),因為導(dǎo)入數(shù)據(jù)過程中并發(fā)量太大,寫入太密集,需要先把從停掉,數(shù)據(jù)導(dǎo)入、核對完成后,重新搭建主從環(huán)境。
主從是環(huán)境的mysql是5.7.12,用了gtid。
下面是具體步驟,沒有特殊說明的都是在從庫執(zhí)行:
1.stop slave; ##停止從庫
2.reset slave all; ##重置主從配置信息
3.在主庫上使用mysqldump導(dǎo)出數(shù)據(jù)庫,我寫了一個腳本來執(zhí)行導(dǎo)出,腳本名字是mysqlbackup.sh
[root@iz2ze6jo3o3bqbcongnypqz export_mysql]# more mysqlbackup.sh
#!/bin/bash
databases=('xxx_0042')
basepath='/alidata1/backup/export_mysql/'
user='root'
passwd='xxxxxx'
if [ ! -d "$basepath" ]; then
mkdir -p "$basepath"
fi
for db in ${databases[*]}
do
/bin/nice -n 19 /usr/bin/mysqldump -u$user -p$passwd --log-error=$basepath$db-$(date +%Y%m%d).log --set-gtid-purged=on --single-transaction --databases $db > $basepath$db-$(date +%Y%m%d).sql
/bin/nice -n 19 tar zPcf $basepath$db-$(date +%Y%m%d).sql.tar.gz $basepath$db-$(date +%Y%m%d).sql
find $basepath -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} \;
done
rm -rf $basepath
4.導(dǎo)出的文件中已經(jīng)包含了GTID_PURGED的信息,這個信息非常有用,意思是從庫開啟后那些事物不需要執(zhí)行了。
[root@iz2ze6jo3o3bqbcongnypoz export_mysql]# grep GTID_PURGED xxx_0042-20171202.sql
SET @@GLOBAL.GTID_PURGED='c9c73c70-c089-11e7-8544-00163e0ad76e:1-49794683';
5.將備份文件轉(zhuǎn)到從服務(wù)器,我這個比較復(fù)雜,先把文件轉(zhuǎn)到跳板機,然后轉(zhuǎn)到從,-i 參數(shù)是為了用阿里云的密鑰文件,ssh也是這樣用。
scp -i xx_aliyun.pem root@192.168.2.71:/alidata1/backup/export_mysql/xxx_0042-20171202.sql.tar.gz /home/guoliang/
scp -i xx_aliyun.pem /home/guoliang/xxx_0042-20171202.sql.tar.gz root@192.168.2.72:/alidata1/backup/export_mysql
scp -i xx_aliyun.pem /home/guoliang/xxx_0042-20171202.sql.tar.gz root@192.168.2.73:/alidata1/backup/export_mysql
6.reset master; ##重置從服務(wù)器上的binlog
7.導(dǎo)入數(shù)據(jù)
source /alidata1/backup/export_mysql/alidata1/backup/export_mysql/xxx_0042-20171202.sql
8.執(zhí)行change master
change master to
master_host='192.168.2.71',
master_port=3306,
master_user='repl',
master_password='REPLsafxxxxx',
MASTER_AUTO_POSITION = 1;
9.show slave status \G; ##檢查從的狀態(tài),主要關(guān)注下面這兩個值是否和上面grep出來的值是否一致。
Retrieved_Gtid_Set: c9c73c70-c089-11e7-8544-00163e0ad76e:49794684-50352676
Executed_Gtid_Set: c9c73c70-c089-11e7-8544-00163e0ad76e:1-49798235
10.當(dāng)Seconds_Behind_Master: 0的時候,數(shù)據(jù)同步已經(jīng)完成了。
到此,關(guān)于“MySQL5.7怎么用mysqldump搭建gtid主從”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。