文档首页 > > 最佳实践> 通过自定义脚本实现MySQL一致性备份> 详细步骤

详细步骤

分享
更新时间:2019/02/14 GMT+08:00
  1. 加密MySQL密码,供自定义脚本使用

    1. 登录MySQL服务器,输入cd /home/rdadmin/Agent/bin/ ,进入Agent目录。
    2. 执行/home/rdadmin/Agent/bin/agentcli encpwd,回显如下:
      Enter password:

      输入MySQL密码,并按“Enter”,屏幕上就会打印出加密后的密码,将其拷贝到剪贴板中。

  2. 执行cd /home/rdadmin/Agent/bin/thirdparty/ebk_user ,进入自定义脚本目录,然后执行vi mysql_freeze.sh,打开MySQL示例冻结脚本。

    将下图所示的MYSQL_USERMYSQL_PASSWORD修改为实际值,其中MYSQL_PASSWORD步骤1的屏幕输出。

    也可以使用sed命令来直接进行修改:

    sed -i 's/^MYSQL_PASSWORD=.*/MYSQL_PASSWORD="XXX"/' mysql_freeze.sh mysql_unfreeze.sh ,其中XXX为步骤1中打印出的密码。

    此操作会同时修改冻结解冻脚本,所以无需再执行步骤3。

  3. 执行vi mysql_unfreeze.sh,打开MySQL示例解冻脚本,修改此脚本中的用户名和密码。

    mysql_unfreeze.shmysql_freeze.sh脚本实现了基本的数据库冻结与解冻操作,如果你在冻结、解冻时有其它额外步骤需要执行,可以自行在其中进行修改。详细说明请参见 通过自定义脚本实现其它Linux应用的一致性备份

    MySQL的冻结是通过FLUSH TABLES WITH READ LOCK指令来实现的,此指令不会触发bin log刷盘操作,如果开启了bin log,且sync_binlog参数不为1,则可能出现保存的备份映像中部分SQL操作未记录到bin log的情况,如果bin log也需要完整保护,请设置sync_binlog=1。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问