RDS FOR MySQL 下载至本地还原:
参考:https://help.aliyun.com/knowledge_detail/41817.html?spm=a2c4g.11186623.4.3.596e10721NSVa5
完整实例:db_rds_backup.tar
日志文件:mysql-bin.000512,mysql-bin.000513
---------------------------
-- 完整实例数据还原
---------------------------
# 创建新的数据存储目录,解压备份到此目录
# mkdir -p /data1/mysql_data
# tar -xvf db_rds_backup.tar -C /data1/mysql_data
# 更改数据存储目录;为避免版本问题,如有则注释以下几个参数
# vim /etc/my.cnf
datadir=/data1/mysql_data
#innodb_fast_checksum
#innodb_page_size
#innodb_log_block_size
# 停止服务应用当前目录
# service mysqld stop
# innobackupex --defaults-file=/etc/my.cnf --apply-log /data1/mysql_data
# chown -R mysql:mysql /data1/mysql_data
# 如果直接启动 MySQL 服务,没有管理员账号访问
# mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables
# 进去发现没有 root 用户,直接手动创建一个(root@'localhost' 无法创建)
# mysql -uroot
flush privileges;
select host,user from mysql.user;
create user root@'127.0.0.1' identified by 'mysql';
grant all on *.* to root@'127.0.0.1' with grant option;
flush privileges;
alter user 'aliyun_root'@'127.0.0.1' identified by 'mysql';
flush privileges;
# MySQL 进程都关闭后,用服务启动
# service mysqld start
---------------------------
-- 日志还原
---------------------------
# 因启用了 gtid 多线程复制,先在 MySQL 中将该模式禁用,否则使用 mysqlbinlog 还原日志报错
set @@GLOBAL.GTID_MODE = OFF_PERMISSIVE;
错误:ERROR 1781 (HY000) at line 14: @@SESSION.GTID_NEXT cannot be set to UUID:NUMBER when @@GLOBAL.GTID_MODE = OFF.
# 还原所有数据库到最近(日志文件都写上)
mysqlbinlog -v --base64-output=decode-rows mysql-bin.000512 mysql-bin.000513 | mysql -uroot -h127.0.0.1 -p
# 还原所有数据库到指定时间点
mysqlbinlog -v --base64-output=decode-rows mysql-bin.000512 mysql-bin.000513 --stop-datetime="2018-11-08 04:00:00" | mysql -uroot -h127.0.0.1 -p
# 还原某个数据库到指定时间点,没用的数据库还原将浪费时间和日志空间(如还原数据库 mydb
mysqlbinlog -d mydb -v --base64-output=decode-rows mysql-bin.000512 mysql-bin.000513 --stop-datetime="2018-11-08 08:00:00" | mysql -uroot -h127.0.0.1 -p