阿里云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