innobackup備份恢復實操步驟--gtid復制(1)(1)

  1. 首先在主庫進行備份:

備份命令:

Innobackupex --defaults-file=/app/dbcluster/sgrdb/mysql/my19103.cnf --no-timestamp --user=dbscale --password=S6000@dbscale? --host=10.157.43.224 ?--port=19103? /data/backup

?

如果使用setsid:

setsid innobackupex --defaults-file=/data/mysql/my3390.cnf --no-timestamp --user=test?? --password=test --host=172.16.90.233? --port=3390 ?/data/backup 2>backup.log &

?

2.接著執行apply-log,這一步可以在主庫的服務器上執行也可以把備份集傳輸到從庫服務器上之后,在從庫服務器上再執行,我這里是在主庫執行完成之后再傳輸到從庫的:

innobackupex --apply-log ?/data/backup

如果使用setsid:

setsid innobackupex --apply-log ?/data/backup 2>apply.log &

?

?

(slave服務器上確認mysql是否關閉

先在slave上確保實例已經處于關閉狀態(通過ps -ef | grep sgrdbd | grep 19103 來查看,輸出為空表示已經關閉)

如果沒有關閉數據庫,需要先關閉數據庫:

shell> cd /app/dbcluster/sgrdb/mysql/

shell> ./bin/sgrdbadmin -udbscale -p’密碼’ -P19103 -h slaveip shutdown

關閉之后查看是否還有進程:

shell> ps -ef | grep sgrdbd

)

?

3.傳輸備份到從庫,傳輸備份文件到從庫有多種方法,這里介紹2種方法,二者選其一即可:

rsync:

rsync -avSH? /data/backup? 172.16.90.234:/data/backup

其他使用方法參考:

http://newcity.blog.163.com/blog/static/21642904620151242639886/

Scp:

scp -r? /data/backup? 10.157.43.223:/data/backup

?

4.備份文件傳輸到從庫之后,直接在從庫copy-back,或者把文件直接拷貝到從庫的datadir下面,二者選其一即可:

copy-back方法:

innobackupex --defaults-file= /app/dbcluster/sgrdb/mysql/my19103.cnf--copy-back /data/backup

或者使用--move-back

innobackupex --defaults-file=/data/mysql/my3390.cnf --move-back /data/backup

?

手動copy方法:

cp -r /data/backup/*? /sdb1/mysqldata/sgb/data19103/

?

5.在從庫修改數據目錄權限:

chown -R sgrdb:sgrdb /sdb1/mysqldata/sgb/data19103

?

6.啟動從庫

cd $basedir

./bin/sgrdbadmin --defaults-file= /app/dbcluster/sgrdb/mysql/my19103.cnf--user=sgrdb &

?

7.根據備份信息修改change master to語句:

a.查看備份信息,xtrabackup_binlog_info文件中會有gtid的信息:

[root@mysql2 backup]# cat xtrabackup_binlog_info

my1binlog.000003??????? 66563704??????? 09c53004-6599-11e6-b3b8-525400aec7c7:1-920???

b.在從庫修改、執行change master to語句,這里在執行change master to語句之前需要先在從庫purge gtid的位置:

reset master;

set global gtid_purged='09c53004-6599-11e6-b3b8-525400aec7c7:1-920';

CHANGE MASTER TO master_host='10.157.43.224',master_port=19103,master_user='dbscale',master_password='S6000@dbscale',master_auto_position=1;

注意:

當備份的庫之前是雙主結構的從庫,并且做過主從切換,gtid會有多組gtid的值,例如:

[mysql@db_slave1 data]$ cat xtrabackup_binlog_info

db_master2-bin.000427?? 388360834?????? ce70701f-dc1a-11e4-a375-5cf3fce7fd98:1-270900248,fb2934a4-dce8-11e4-a8b5-5cf3fce7f8c8:1-775393002

如果有多組的gtid值,在備份之后會在文件中顯示,在purge gtid的時候需要把所有的組都purge,即:

SET GLOBAL gtid_purged="8bc8e42d-30f6-11ea-afa8-005056879c27:1-3595967,

ea7e8d1e-3139-11ea-b87f-00505687e26a:1-31750755";

?

8.最后在從庫啟動slave并且查看同步狀態:

Start slave;

show slave status\G

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535474.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535474.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535474.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis系列:Redis的概述與安裝

Redis(Remote Dictionary Server) 是一個使用 C 語言編寫的,開源的(BSD許可)高性能非關系型(NoSQL)的鍵值對數據庫。 本篇內容包括:Redis 簡介(為什么快?為什么單線程?優…

安裝LibreOffice和字體

#/bin/bash # Check if user is root if [ $(id -u) ! "0" ]; thenecho "Error: You must be root to run this script, please use root"exit 1 fi echo 安裝LibreOffice cd /home/ tar -zxvf LibreOffice_6.3.3_Linux_x86-64_rpm.tar.gz cd /home/LibreO…

xtrabackup備份腳本

#!/bin/sh #備份主機 remote_ip100.0.132.160 Master_ip100.20.132.158 VIP100.20.132.166 #備份用戶 userroot #密碼 password00000 # 返回年月日 backup_datedate %F # 返回時分秒 backup_timedate %H-%M-%S # 返回今天是這周的第幾天 backup_week_daydate %u backup_ok0 #備…

Redis系列:使用Redis實現分布式鎖及相關問題

分布式鎖其實就是,控制分布式系統不同進程共同訪問共享資源的一種鎖的實現。如果不同的系統或同一個系統的不同主機之間共享了某個臨界資源,往往需要互斥來防止彼此干擾,以保證一致性。 本篇內容包括:關于 Redis 與 分布式鎖&…

Redis系列:Redis持久化機制與Redis事務

Redis 是個基于內存的數據庫。那服務一旦宕機,內存中數據必將全部丟失。所以丟失數據的恢復對于 Redis 是十分重要的,我們首先想到是可以從數據庫中恢復,但是在由 Redis 宕機時(說明相關工作正在運行)且數據量很大情況…

Java基礎:Java程序設計環境

按應用范圍,Java 可分為 3 個體系,即 Java SE、Java EE 和 Java ME。Java 語言的開發運行,也離不開 Java 語言的運行環境 JRE。沒有 JRE 的支持,Java 語言便無法運行。當然,如果還想編譯 Java 程序,搞搞小開…

負載均衡策略

輪循均衡(Round Robin):每一次來自網絡的請求輪流分配給內部中的服務器,從1至N然后重新開始。此種均衡算法適合于服務器組中的所有服務器都有相同的軟硬件配置并且平均服務請求相對均衡的情況。 我們的業務web服務器都是同樣配置…

Java基礎:Java數據類型

Java 是一種強類型語言,這就意味著必須為每一個變量聲明一種類型。在 Java 中基本數據類型共有 8 種,包括 4 種整型、2 種浮點型、1 種用于表現 Unicode 編碼的字符單元的字符類型 char 和一種用于表示真值的 boolean 類型 ~ 本篇主要記錄內容包括&#…

TCP連接的建立與終止

TCP連接的建立與終止 1.三次握手 TCP是面向連接的,無論哪一方向另一方發送數據之前,都必須先在雙方之間建立一條連接。在TCP/IP協議中,TCP協議提供可靠的連接服務,連接是通過三次握手進行初始化的。三次握手的目的是同步連接雙方…

日常問題:MySQL排序字段數據相同不能分頁問題

【問題日期】 2022-11-14 22:45:12 【問題描述】 MySQL 排序字段數據相同不能分頁問題:在分頁查詢數據時,按創建時間排序,由于數據是批量創建的,導致部分數據創建時間一樣,而此時分頁查詢數據,翻頁后出現…

數據缺失值處理

數據缺失值處理 In [1]: import pandas as pd import numpy as np from sklearn.ensemble import RandomForestRegressor,RandomForestClassifier from sklearn.preprocessing import StandardScaler from sklearn.impute import SimpleImputer In [2]: df pd.DataFrame() df[…

Java基礎:Java數字類型

Java 中包含多種運算符:算數運算符、關系運算符、邏輯運算符、位運算符。在 Math 類中,包含了各種各樣的數學函數。在編寫不同類別的程序時,可能需要的函數也不同。要生成一個隨機數,可以使用 Random 對象。 ~ 本篇主要…

Java基礎:Java流程控制

塊(即復合語句)是指由一對大括號括起來的若干條簡單的 Java 語句。塊確定了變量的作用域。一個塊可以嵌套在另一個塊中。但是,不能在嵌套的兩個塊中聲明同名的變量。使用塊(有時稱為復合語句)可以在Java程序結構中原本…

Java基礎:Java類與對象

面向對象程序設計(簡稱OOP)是當今主流的程序設計范型,它已經取代了20世紀70年代的“結構化”過程化程序設計開發技術。Java是完全面向對象的,必須熟悉OOP才能夠編寫Java程序。面向對象的程序是由對象組成的,每個對象包…

SVN備份腳本

#!/bin/bash #svn全量備份腳本 wwytcode_path/home/wwytcode/project backup_path/home/bak Datedate %Y%m%d cd $backup_path echo date >> $back_path/svn_backup.log svnversionsvnlook youngest $wwytcode_path svnadmin dump --revision 0:$svnversion $wwytcode_pa…

Java基礎:Java面向對象

面向過程的優點是性能比面向對象高,不需要面向對象的實例化;缺點是不容易維護、復用和擴展。面向對象的優點是具有封裝、繼承、多態的特性,因而容易維護、復用和擴展,可以設計出低耦合的系統;缺點是由于需要實例化對象…

薪資生成

import openpyxl from openpyxl.styles import Font,Alignment,Side,Border#設置字體樣式 fontFont(name宋體,size20,boldTrue) font2Font(name宋體,size12,boldTrue) alignmentAlignment(horizontalcenter,verticalcenter,wrap_textTrue) sideSide(stylethin ,color000000) …

Java基礎:Java抽象接口

在Java中,一個沒有方法體的方法應該定義為抽象方法,而如果一個類中含有抽象方法,則該類必須定義為一個抽象類。接口是功能的集合,同樣可看做是一種特殊的數據類型,是比抽象類更為抽象的類,接口只描述所應該…

13 張圖帶你學懂 Kubernetes Service(轉載)

在 Kubernetes 中 Service 主要有4種不同的類型,其中的 ClusterIP 是最基礎的,如下圖所示: 當我們創建一個 NodePort 的 Service 時,它也會創建一個 ClusterIP,而如果你創建一個 LoadBalancer,它就會創建一…

Java基礎:Java異常機制

異常是程序運行過程中出現的錯誤。Java 把異常當作對象來處理,把異常信息封裝成了一個類,并定義一個基類java.lang.Throwable作為所有異常的超類。Throwable : 它是所有錯誤與異常的超類(祖宗類),有兩個子類 Error 和 Exception。…