本地mysql备份至rds_阿里云RDS备份在本地mysql快速还原
本地準備:
##安裝和RDS相同的mysql版本,拿mysql5.6為例
##安裝Xtrabackup 包
cd?/data/source
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.8/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm
yum install ?percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm
##去RDS控制臺下載備份包放到?/data/source 目錄下
##下載解壓腳本
wget http://oss.aliyuncs.com/aliyunecs/rds_backup_extract.sh?spm=5176.7741817.2.4.dzPsOP&file=rds_backup_extract.sh -O rds_backup_extract.sh
##準備一個backup-my.cnf
vim backup-my.cnf
# This MySQL optionsfilewas generated by innobackupex.
# The MySQL server
[mysqld]
innodb_checksum_algorithm=innodb
#innodb_log_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:200M:autoextend
innodb_log_files_in_group=2innodb_log_file_size=524288000#innodb_fast_checksum=falseinnodb_page_size=16384#innodb_log_block_size=512innodb_undo_directory=.
innodb_undo_tablespaces=0#rds_encrypt_data=false#innodb_encrypt_algorithm=aes_128_ecb
##使用腳本還原
#!/bin/bash
db_dir=/data/source/mysql/data
systemctl stop mysqldps -ef | grep mysqld | grep -v grep | awk '{ print "kill -9 " $2}' |bash
#創(chuàng)建文件夾
cd/data/sourceif [ -d $db_dir ];then
rm -rf /data/source/mysqlecho "Delete directory '$db_dir'"
fi
mkdir -p $db_direcho "Create directory '$db_dir'"#解壓數(shù)據(jù)if [ $1 ];then
echo "Backup file is: '$1'"bash rds_backup_extract.sh -f $1 -C $db_direlseread-p "Please enter a backup file name:"bak_fileif [ $bak_file ];then
echo "Backup file is: '$bak_file'"bash rds_backup_extract.sh -f $bak_file -C $db_direlse
echo "Input error"exit0
fi
fi
echo "`ls -l $db_dir`"#還原數(shù)據(jù)庫
innobackupex--defaults-file=$db_dir/backup-my.cnf --apply-log $db_dirchown -R mysql:mysql $db_dircp -f backup-my.cnf $db_dir/backup-my.cnf
#啟動實例
mysqld_safe--defaults-file=$db_dir/backup-my.cnf --user=mysql --datadir=$db_dir > /tmp/mysql_demo.lo
g2>&1 &
sleep 10mysql_upgrade-uroot
#設(shè)置密碼while:doread-p "Please enter the root@% password:"passwordif [ $password ];then
echo "The root@% password is ‘$password’"breakelse
echo "Input error"
fi
donemysql-uroot <
GRANT ALL PRIVILEGES ON*.* TO 'root'@'%' IDENTIFIED BY '$password'WITH GRANT OPTION;
EOF
exit0
總結(jié)
以上是生活随笔為你收集整理的本地mysql备份至rds_阿里云RDS备份在本地mysql快速还原的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql行级安全_MySQL学习笔记(
- 下一篇: mysql数据库如何创建冗余小的表_my