恢复云数据库MySQL的备份文件到自建数据库总结
(文字參見 https://help.aliyun.com/knowledge_detail/41817.html)
前提概要
環境
-
服務器環境:Ubuntu16.04
-
終端工具:iTerm (Mac)
-
數據壓縮解壓工具:rds_backup_extract (僅僅適用RDS)
-
數據庫恢復工具:Percona XtraBackup 2.2 Release 2.2.12
-
本地數據庫環境:mysql 5.7.22
-
RDS:MySQL5.6.16
目標:將RDS上的數據庫備份到本地服務器中
步驟說明:
1.本地服務器安裝?Percona XtraBackup?
????? ? 安裝說明: 1.從Percona XtraBackup官網下載對于mysql版本的官方包(本人安裝的2.4.8版本對于MySQL5.7);
????????????????????????? ? 2.為了防止出現安裝時出現依賴問題 ,本地安裝gdebi;?sudo apt-get install gdebi?再安裝你要安裝的包:*.deb
? ? ? ? ? ? ? ? ? sudo gdebi *.deb(注意此安裝方式為 Ubuntu系統安裝方式)
?
????????????????????? ?3.查看 percona-xtrabackup? 版本 ??innobackupex -v
2.下載數據備份文件解壓工具rds_backup_extract.sh
3.?下載數據備份文件到本地服務器(此步驟如下)
?獲取數據備份文件下載地址,具體操作步驟如下。
登錄RDS管理控制臺。
選擇目標實例所在地域。
單擊目標實例的ID,進入基本信息頁面。
在左側導航欄中,選擇備份恢復,進入備份恢復頁面。
選擇數據備份標簽頁。
選擇查詢的時間范圍,然后單擊查詢。
在數據備份列表中,找到要下載的數據備份,并單擊其對應的下載,如下圖所示。
?
在實例備份文件下載窗口,單擊復制外網地址,獲取數據備份文件外網下載地址,如下圖所示。
?
下載數據備份文件,具體操作步驟如下。
登錄云服務器ECS。
執行如下命令,下載數據備份文件。
?參數說明:
-
-c:啟用斷點續傳模式。
-
-O:將下載的結果保存為指定的文件(建議使用URL中包含的文件名)。
說明:若提示顯示100%進度,則表示文件下載完成。
4.將下載的數據備份恢復到本地MySQL數據庫中,具體操作步驟如下。
執行如下命令,解壓已下載的數據備份文件。
說明:本文以自定義路徑/home/mysql/data為例,您可以根據實際情況將其替換成實際路徑。
?參數說明:
-
-f:指定要解壓的備份集文件。
-
-C:指定文件要解壓到的目錄。可選參數,若不指定就解壓到當前目錄。
執行如下命令,查詢解壓后生成的文件。
?命令執行成功后,系統會返回如下結果,其中藍色字體為生成備份文件時RDS實例所包含的數據庫。
執行如下命令,恢復解壓好的備份文件。
?若系統返回如下類似結果,則說明備份文件已成功恢復到本地數據庫。
?
5.為避免版本問題,需修改backup-my.cnf參數,具體操作步驟如下。
執行如下命令,以文本方式編輯backup-my.cnf文件。
?執行如下命令,注釋掉如下參數。
?(第五個步驟我是落在第四步之前提前執行的)
?
執行如下命令,修改文件屬主,并確定文件所屬為MySQL用戶。
?執行如下命令,啟動MySQL進程。
?(本人就卡在這里欲仙欲死,服務器一直會停住執行不了)
這一步實際上就是要把本地mysql存儲數據路徑改成 home/mysql/data 這個路徑?
? i.停服務
??ii.更改 mysql 配置文件 datadir 改成 ?/home/mysql/data
? iii.跳過密碼驗證?mysqld_safe --skip-grant-tables
? vi.無密碼登錄 mysql -u root?
(如果RDS 版本低于 本地數據庫 ,則執行 mysql_upgrade?-u?root ,本地數據庫版本不能低于RDS 的版本)
?v.恢復完成后,表mysql.user中不包含在RDS實例中創建的用戶,需要新建。在新建用戶前,執行如下命令。
delete from mysql.db where user<>’root’ and char_length(user)>0;delete from mysql.tables_priv where user<>’root’ and char_length(user)>0;flush privileges;
授權
grant all privileges on *.* to 'root'@'localhost' identified by 'root' with grant option;
總結
以上是生活随笔為你收集整理的恢复云数据库MySQL的备份文件到自建数据库总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Composer -- PHP依赖管理的
- 下一篇: Flutter技术与实战(4)