zoukankan      html  css  js  c++  java
  • 阿里云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

    三:

    在 backup-my.cnf 文件里面 添加一下skip-grant-tables=1​​​​​​ 然后免密启动一下,然后连接实例执行如下
    mysql>flush privileges;
    mysql>SET PASSWORD FOR 'aliyun_root'@'127.0.0.1' = PASSWORD('MyNewPass');
    mysql>exit
    (如果不行需要把
    127.0.0.1改成% 重新启动。)
    删除my.cnf里面的skip
    -grant-tables=1​​​​​​ 重启mysql服务
  • 相关阅读:
    js中'1'到1的转换
    js类型判断
    docker安装mysql5.7
    HMM隐马尔可夫模型学习
    [python] wgs84转为gcj02坐标
    python经纬度转enu坐标
    Centos7开放及查看端口
    设计模式笔记
    npm 全面介绍
    Yarn 安装与使用详细介绍
  • 原文地址:https://www.cnblogs.com/sheng-247/p/13056374.html
Copyright © 2011-2022 走看看