阿里云rds数据库备份恢复

一  备份

1 安装客户端

yum install mysql

2 执行以下命令,对RDS实例执行库备份操作(推荐案例二)

mysqldump -h [$Host] -u [$User] -P [$Port] -p --opt --default-character-set=utf8 --triggers --hex-blob [$Database_Name] > /tmp/db_name.sql

    [$User]为数据库登录用户。
    [$Port]为数据库端口号。
    [$Host]为数据库地址。
    [$Database_Name]为数据库的库名。

案例一:

mysqldump -h localhost -uroot -P3306 -pXXX --opt --default-character-set=utf8mb4 --triggers --hex-blob business > /root/mysql_bak/business.sql

案例二(通过指定文件方式):

新建配置文件

vim /root/mysql_bak/rds.cnf

[mysqldump]
host=xxx.mysql.rds.aliyuncs.com
user=root
password=xxx

新建脚本

vim /root/mysql_bak/mysql_bak.sh

#! /bin/bash
#chkconfig:2345 82 92
#decription:mysql_bak autostart
bak_time=$(date "+%Y.%m.%d")
bak_dir=/root/mysql_bak
mysqldump --defaults-extra-file=$bak_dir/rds.cnf  --opt --default-character-set=utf8mb4 --triggers --hex-blob business > $bak_dir/business_$bak_time.sql
find ${bak_dir}/ -mtime +2 -name "*.sql" | xargs rm -rf

参数说明:

--no-defaults:不要读任何选项文件默认选项。
--defaults-file=#:只读取给定文件#中的默认选项。
--defaults-extra-file=#:读取全局文件后读取此文件。

该信息从集成手册复制而来,即
mysqldump --help | grep -A7 'Default options'

添加定时任务(每6小时备份一次)

crontab -e

0 */6 * * * /bin/sh /root/mysql_bak/mysql_bak.sh 2>/dev/null

二 RDS 数据库恢复

若您需要进行RDS实例数据恢复操作,可以根据备份文件,执行以下命令。

mysql -h [$Host] -u [$User] -P [$Port] -p [$Database_Name] < /tmp/db_name.sql

案例:

登录数据库

新建数据库:business,字符集utf8mb4 -- UTF-8 Unicode  排序规则utf8mb4_general_ci

备注:字符集和排序需要问开发确认

恢复命令

mysql -h XXXX -uroot -P3306 -pXXX business < /root/business_20200616.sql

 

参考 https://help.aliyun.com/knowledge_detail/41833.html?spm=5176.13910061.sslink.1.10fb3186ZFevew

 

你可能感兴趣的:(数据库)