日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

恢复云数据库MySQL的备份文件到自建数据库总结

發布時間:2024/1/8 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 恢复云数据库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。

  • 執行如下命令,下載數據備份文件。

    ?
  • wget -c '<數據備份文件外網下載地址>' -O <自定義文件名>.tar.gz
  • 參數說明:

    • -c:啟用斷點續傳模式。

    • -O:將下載的結果保存為指定的文件(建議使用URL中包含的文件名)。

      說明:若提示顯示100%進度,則表示文件下載完成。

    4.將下載的數據備份恢復到本地MySQL數據庫中,具體操作步驟如下。

  • 執行如下命令,解壓已下載的數據備份文件。

    說明:本文以自定義路徑/home/mysql/data為例,您可以根據實際情況將其替換成實際路徑。

    ?
  • bash rds_backup_extract.sh -f <數據備份文件名>.tar.gz -C /home/mysql/data
  • 參數說明:

    • -f:指定要解壓的備份集文件。

    • -C:指定文件要解壓到的目錄??蛇x參數,若不指定就解壓到當前目錄。

  • 執行如下命令,查詢解壓后生成的文件。

    ?
  • ls -l /home/mysql/data
  • 命令執行成功后,系統會返回如下結果,其中藍色字體為生成備份文件時RDS實例所包含的數據庫。

  • 執行如下命令,恢復解壓好的備份文件。

    ?
  • innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --apply-log /home/mysql/data
  • 若系統返回如下類似結果,則說明備份文件已成功恢復到本地數據庫。

    ?

    5.為避免版本問題,需修改backup-my.cnf參數,具體操作步驟如下。

  • 執行如下命令,以文本方式編輯backup-my.cnf文件。

    ?
  • vi /home/mysql/data/backup-my.cnf
  • 執行如下命令,注釋掉如下參數。

    ?
  • #innodb_fast_checksum
  • #innodb_page_size
  • #innodb_log_block_size
  • (第五個步驟我是落在第四步之前提前執行的)

    ?

    執行如下命令,修改文件屬主,并確定文件所屬為MySQL用戶。

    ?
  • chown -R mysql:mysql /home/mysql/data
  • 執行如下命令,啟動MySQL進程。

    ?
  • mysqld_safe --defaults-file=/home/mysql/data/backup-my.cnf --user=mysql --datadir=/home/mysql/data &
  • (本人就卡在這里欲仙欲死,服務器一直會停住執行不了)

    這一步實際上就是要把本地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的备份文件到自建数据库总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。