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

一:业务场景

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

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

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

mv /data/mysql/*.TRG /opt

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

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

 


参考地址:
https://yq.aliyun.com/articles/688509
posted @ 2019-11-15 18:27  h_s  阅读(900)  评论(0编辑  收藏  举报