阿里云官方幫助文檔:https://help.aliyun.com/knowledge_detail/41817.html
先說一下大概步驟,回頭上圖說明,
數據庫還原過幾次 踩過幾次坑,今天生產環境又TM誤刪了,還著著急急的催,我發誓我要離職,不能在這干了,哎不說了,心累,先記錄一下吧
步驟1,購買阿里云ECS,因為要安裝插件,如果是本地的話太慢了……(必須是linux機器)
步驟2,使用阿里云一件安裝腳本,選擇mysql對應的版本安裝即可,很快幾分鐘搞定
步驟3,安裝還原插件https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.2/binary/? 版本不要太高,也不要太低,我的rds mysql是5.6? 所以選擇了2.3.2 xtrabackup
安裝xtrabackup依賴包
yum?install??perl-DBD-MySQL
wget??ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm
rpm -vih libev-4.15-1.el6.rx.x86.64.rpm
步驟4,下載阿里云rds數據庫備份文件和解壓縮文件,
http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh?spm=5176.7741817.2.6.4vdEFz&file=rds_backup_extract.sh 這個是解壓縮的,待會會用到,
步驟5,解壓,這里注意了,最快的方法就是把原來的mysql data目錄備份,
使用腳本解壓? sh rds_backup_extract.sh -f hins3141877_data_20171128061754.tar -C /alidata/mysq/data
步驟6,還原innobackupex --defaults-file=/alidata/server/mysql/data/backup-my.cnf --apply-log /alidata/server/mysql/data
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 1795061329
171108 15:44:43 completed OK!
出現 completed Ok 說明成功~
步驟7,vim /alidata/server/mysql/data/backup-my.cnf
把下面這幾行注釋掉
#innodb_fast_checksum
#innodb_page_size
#innodb_log_block_size
步驟8,給權限
chown -R mysql:mysql /alidata/server/mysql/data
步驟9,啟動
service mysqld start 或者
mysqld_safe --defaults-file=/alidata/server/mysql/data/backup-my.cnf --user=mysql --datadir=/alidata/server/mysql/data &
步驟10,登陸
mysql -u root?
show databases;? 這一步應該可以看到你還原的數據庫
步驟11,恢復完成后,表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;
步驟12,創建數據庫賬號密碼并授權
GRANT ALL PRIVILEGES ON *.* TO'root'@'%'IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
運維QQ交流群:171586999