MySQL 5.7 用mysqldump搭建gtid主從
最近需要把一個老系統升級到新系統,主要是硬體更新。
在新硬體這邊搭建了一主兩從的環境,資料主要是開發人員匯入到新系統,因為匯入資料過程中併發量太大,寫入太密集,需要先把從停掉,資料匯入、核對完成後,重新搭建主從環境。
主從是環境的mysql是5.7.12,用了gtid。
下面是具體步驟,沒有特殊說明的都是在從庫執行:
1.stop slave; ##停止從庫
2.reset slave all; ##重置主從配置資訊
3.在主庫上使用mysqldump匯出資料庫,我寫了一個指令碼來執行匯出,指令碼名字是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.匯出的檔案中已經包含了GTID_PURGED的資訊,這個資訊非常有用,意思是從庫開啟後那些事物不需要執行了。
-
[root@iz2ze6jo3o3bqbcongnypoz export_mysql]# grep GTID_PURGED xxx_0042-20171202.sql
- SET @@GLOBAL.GTID_PURGED='c9c73c70-c089-11e7-8544-00163e0ad76e:1-49794683';
-
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; ##重置從伺服器上的binlog
7.匯入資料
- source /alidata1/backup/export_mysql/alidata1/backup/export_mysql/xxx_0042-20171202.sql
8.執行change master
-
change master to
-
master_host='192.168.2.71',
-
master_port=3306,
-
master_user='repl',
-
master_password='REPLsafxxxxx',
- MASTER_AUTO_POSITION = 1;
-
Retrieved_Gtid_Set: c9c73c70-c089-11e7-8544-00163e0ad76e:49794684-50352676
Executed_Gtid_Set: c9c73c70-c089-11e7-8544-00163e0ad76e:1-49798235
10.當Seconds_Behind_Master: 0的時候,資料同步已經完成了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20893244/viewspace-2148249/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 5.7 用xtrabackup搭建gtid主從MySql
- MySQL 5.7 基於GTID搭建主從複製MySql
- mysql 5.7 GTID主從配置MySql
- 基於GTID搭建主從MySQLMySql
- MySQL 5.7基於GTID的主從複製MySql
- mysql 5.7 主從複製搭建及原理MySql
- mysql之 mysql 5.6不停機主從搭建(一主一從基於GTID複製)MySql
- MySQL 5.7傳統複製到GTID線上切換(一主一從)MySql
- MySQL 5.7 使用GTID方式搭建複製環境MySql
- mysql GTID 主從複製概述MySql
- Mysql 8.4.0 結合 Docker 搭建GTID主從複製,以及傳統主從複製MySqlDocker
- mysql 5.7 多主一從的多源複製搭建MySql
- MySQL5.7主從複製-半同步複製搭建MySql
- MySQL 5.7主從新增新從庫MySql
- MySQL主從配置及mysqldump備份MySql
- Mysql 基於GTID主從複製MySql
- 【MySQL】主從GTID複製修復MySql
- MySQL5.7GTID淺析MySql
- mysql5.7 GTID 主從複製模式-增加新的slave1(好文章!!)MySql模式
- MySQL 5.6 建立GTID主從複製 (GTID-based Replication)MySql
- mysql主從搭建MySql
- mysql5.7主從複製,主主複製MySql
- MySQL主從複製之GTID複製MySql
- MySQL5.7主從複製教程MySql
- 【MySQL】MySQL Replication 一主一備搭建步驟(GTID方式)MySql
- MYSQL5.7-GTID概要翻譯MySql
- MySQL 5.7的安裝及主從複製(主從同步)MySql主從同步
- MYSQL主從搭建5.6.38MySql
- mysql之 MySQL 主從基於 GTID 複製原理概述MySql
- MysqL主從複製_模式之GTID複製MySql模式
- MySQL5.7 Master-Master主主搭建for Centos7MySqlASTCentOS
- mysql 5.7主主同步MySql
- MySQL5.7GTID運維實戰MySql運維
- MySQL8.0輕鬆搞定GTID主從複製MySql
- 5.7 mysqldump routinesMySql
- Docker 方式 MySQL 主從搭建DockerMySql
- mysql主從複製搭建MySql
- mysql主從搭建切換MySql