mysql5.7主从全备恢复_mysql主从,或者全备份
mysql的主從復制依賴bin-log日志,會因為各種問題中斷,如flush table,網絡問題等,還有一些未知的bug因素,之前使用mysql import方式恢復速度太慢,一個3G的庫要恢復一個下午,實在是無法忍受?,F在用一個別的方法來操作只需要花費15分鐘左右。
1.備份主庫
innobackupex --defaults-file=/etc/my.cnf --user=root --password='xxxxxxxxxxx' --defaults-group=mysqld3 --socket=/tmp/mysql_3308.sock /data/slave_data >/data/back.log 2>&1
解釋:
--default-group是查看/etc/my.cnf里面的內容,確認這個庫在配置文件里面的名字是什么,因為是備份,稍微注意下,錯了也沒事,只是備份出來的不是你想要的庫而已。
/data/slave_data 是存放備份文件的,隨便改都可以,注意的是要有足夠的空間哦。
/data/back.log這個是日志文件,很重要里面會有gtid的值,備庫根據這個gtid值才能知道從哪個位置跟主庫同步。
等這個備份跑完,在/data/slave_data下會生成一個日期的文件夾,這個文件夾就是備出來的數據庫,用tar -czf 2016-11-17_15-44-22.tar.gz??2016-11-17_15-44-22/ 打包后傳輸到備庫的機器上去。
2.恢復備庫
備份解壓打包文件,tar -xzf?2016-11-17_15-44-22.tar.gz
備庫停止,找到/etc/my.cnf 看下要停止的庫的[mysql'number']是多少,?mysqld_multi stop number(是數字)。
刪除備庫,找到備庫的數據庫文件全部刪除,在/etc/my.cnf里面找到datadir這個就可以看到,不要把目錄刪了,只要清空里面的東西就好。
恢復數據,innobackupex --defaults-file=/etc/my.cnf --user=root --password='xxxxxxxxxxx' --defaults-group=mysqld2 --copy-back /data/slave_data/2016-11-17_15-44-22
應用日志,innobackupex --defaults-file=/etc/my.cnf --user=root --password='xxxxxxxxxxx' --defaults-group=mysqld2 --apply-log /data/slave_data/2016-11-17_15-44-22
修改權限,chown -R mysql.mysql?/usr/local/mysql/data/dbdata_3307 ,就是datadir的目錄
啟動數據庫 myself_multi start server-id
配置主從:
進入數據庫?mysql -uroot -pxxxxxxxxxxx -S /tmp/mysql_3307.sock
reset master;刷新自己的bin-log
SET GLOBAL gtid_purged=''71d2f30a-feed-11e4-8688-10604b9eee2a:1-20554684''; ?這串數字,就在剛才備份的日志里面,應該是在比較底部的位置。
change master to?master_host='172.16.1.19',master_user='root',master_password='xxxxxxxxxx',master_port=3306,master_auto_position = 1;配置主從
start slave; ?最后一步完成
show slave status\G; ?可以看到主從信息,要是Slave_IO_Running: Yes ?;Slave_SQL_Running: Yes表示成功。
總結
以上是生活随笔為你收集整理的mysql5.7主从全备恢复_mysql主从,或者全备份的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 声学漫谈之四:A加权(A-weighte
- 下一篇: 声学漫谈之五:音腔是怎么影响声音效果的