阿里雲mysql數據庫備份還原


1、下載備份

  在rds的備份恢復中點擊下載,在彈出的窗口中復制內網下載地址(前提是目標服務器與rds內網互通,否則請復制外網地址)

  在目標服務器中執行如下命令進行下載:

    wget -c '復制的地址' -O mysql-bin.001150.tar.gz

        -c 參數使 wget 工具在連接中斷的時候嘗試斷點續傳。

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

2、解壓備份文件

  bash rds_backup_extract.sh -f /opt/project/xxxxx.tar.gz -C /home/data

    rds_backup_extract.sh 可在阿里雲中下載,也可在通過http://url.cn/4BtvG4t下載

    /opt/project/xxxxx' .tar.gz 為下載的數據庫包路徑,/home/data為要解壓到的文件夾

3、安裝Percona-XtraBackup 工具

       Percona-XtraBackup安裝,下載地址為:https://www.percona.com/downloads/XtraBackup/

        

      也可以通過http://url.cn/4Btvndw進行下載

      下載好rpm包后執行rpm -ivh percona-xtrabackup-2.2.3-4982.el6.x86_64.rpm進行安裝

      出現錯誤的話要安裝好依賴包

        yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

3、 恢復數據文件

      innobackupex --defaults-file=/home/data/backup-my.cnf --apply-log /home/data

4、修改配置文件

      對恢復后的backup-my.cnf配置文件進行一些修改

[mysqld]

#datadir為恢復的目錄

datadir=/home/data
innodb_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=1048576000
innodb_undo_directory=.
innodb_undo_tablespaces=0
max_connections=1000
innodb_file_per_table = on
skip_name_resolve = on

symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server=utf8
init_connect='SET NAMES utf8'

5、 啟動mysql服務

mysqld_safe --defaults-file=/home/data/backup-my.cnf --user=root --datadir=/home/data &

--defaults-file表示mysql初始化文件,第三步中--defaults-file設置的文件地址

--user 表示啟動mysql服務時使用的系統用戶,不是mysql數據庫用戶

--datadir表示數據庫存在的路徑,對應解壓縮的數據庫路徑

&表示以后台進程的方式運行命令

6、 初始化還原庫

    一些密碼初始化和授權的操作可參考 yum安裝mysql數據庫中的4、5步

    可能出現的問題:

       1、初始化數據庫密碼出問題

          可嘗試以下初始化操作

            mysql -u root

            mysql> use mysql;

            mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

            mysql> FLUSH PRIVILEGES;

       2、Column count of mysql.user is wrong

               這能是當前mysql版本和需要恢復數據的mysql版本不一致導致的

            解決方法:mysql_upgrade –u root –p '密碼'

總結:

     此種方式阿里雲物理備份的還原方式,為整庫還原,比較麻煩且耗時。

     如無特別需要,也可通過邏輯備份進行還原

      下載邏輯備份文件通過解壓可得到還原的sql文件,如(platform.sql),然后執行

        mysql -u root -p platformdb_back < ./platform.sql  

          -- platformdb_back為還原的目標數據庫

        還原后如需對數據庫備份可以使用

        mysqldump -u root -p platformdb_back > platform.sql

        

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM