You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GoDaddy主机上通过Cronjob实现MySQL数据库完整每日备份

MySQL完整备份(含函数、存储过程)解决方案

你的mysqldump命令默认仅导出表结构和数据,要包含存储过程、函数这类数据库对象,需添加特定参数,以下是修改方案:

修改后的完整备份命令

mysqldump --opt -Q --routines --triggers -h [myhost] -u myusername -p"*****" ebooklibrary > /fullpath.../_db_backups/openelibrary.sql

关键参数说明

  • --routines:强制导出所有存储过程和自定义函数,这是解决当前问题的核心参数
  • --triggers:导出每张表关联的触发器(若业务用到触发器,建议保留以确保备份完整性)
  • -Q:用数据库名.表名的格式导出对象,避免跨库恢复时的命名冲突
  • --opt:整合了--add-drop-table、--add-locks等多个优化参数,提升备份效率和恢复兼容性

额外安全建议

命令行明文写密码存在安全风险,建议通过配置文件存储认证信息:

  1. 在执行备份的用户家目录创建.my.cnf文件,添加以下内容:
[mysqldump]
user=myusername
password=*****
host=[myhost]
  1. 修改文件权限确保仅当前用户可读:
chmod 600 ~/.my.cnf
  1. 简化后的备份命令:
mysqldump --opt -Q --routines --triggers ebooklibrary > /fullpath.../_db_backups/openelibrary.sql

权限注意事项

执行备份的MySQL用户需拥有SELECT和SHOW ROUTINE权限,否则无法导出存储过程和函数。

内容的提问来源于stack exchange,提问作者Mitali Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 14:35:33