阿里云RDS物理备份恢复到本地

Posted sheng-247

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云RDS物理备份恢复到本地相关的知识,希望对你有一定的参考价值。

https://help.aliyun.com/knowledge_detail/41817.html?spm=a2c4g.11186623.6.729.9b7a807ebkl7ka (阿里云文档)

一:业务场景

验证阿里云备份文件可用性

二:恢复到本地过程中遇到的问题

1.修改密码报错

2.自定义函数不可用

三:恢复步骤

1.xtrabackup安装使用

请参考:https://www.cnblogs.com/zhs0/articles/10518431.html

2.下载RDS备份文件上传到本地(存放到 /bak目录下)

3.数据保持一致性

xtrabackup --prepare --target-dir=/bak  

4.停止数据库并修改本地数据目录名称

 mv data data_bak

5. xtrabackup --move-back --target-dir=/bak                 ---配置文件定义data目录可以这样执行,会自动生成一个data目录,修改属主,属组后可启动数据库

6.跳过授权表修改数据库密码验证备份文件

二-1修改密码报错

1.查看并修改RDS超级账号密码

1 select host,user from mysql.user;
2 update mysql.user set authentication_string=password(‘新密码‘) where user=‘aliyun_root‘;

报错如下:Unknown system variable ‘maintain_user_list‘

表示有触发器.

注意: 在mysql5.7 中, aliyun_root 才是真正超级权限账号

查看并删除触发器.命令如下: 

select trigger_schema,trigger_name from information_schema.triggers;

drop trigger sys.sys_config_insert_set_user; drop trigger sys.sys_config_update_set_user;

   技术图片

 2.退出mysql,查找数据目录下trg文件,为避免误删除其它文件,我们先将它移到家目录下.


find /data/ -iname *.trg  ###需要执行那个库把相应的库的.trg 文件mv掉。 重新启动。

mv /data/mysql/*.TRG /opt

3.再次修改密码就成功了

二-2 自定义函数不可用
alter table mysql.proc engine=myisam

以上是关于阿里云RDS物理备份恢复到本地的主要内容,如果未能解决你的问题,请参考以下文章

阿里云RDS-Mysql物理备份数据库文件,在本地windows下数据库恢复过程

如何将阿里云的数据库备份RDS文件在本地恢复

阿里云RDS数据备份本地恢复

迁移 RDS for MySQL 数据到本地 MySQL

阿里云RDS恢复数据到本地上

阿里云RDS备份的tar格式包恢复到本地自建数据库