【问题标题】:How to backup stored procedures in MySQL如何备份 MySQL 中的存储过程
【发布时间】:2010-10-27 05:50:45
【问题描述】:

我用mysqldump和MySQL 5.0,我每天都备份它,但不明白只有存储过程备份的方法。

如何备份?

【问题讨论】:

    标签: mysql stored-procedures backup


    【解决方案1】:

    我不确定您是要备份存储过程以及其他所有内容,还是仅备份存储过程本身...

    与其他所有内容一起存储在转储中:

    mysqldump -R <dbname> #or
    mysqldump --routines <dbname>
    

    只是存储过程:

    mysqldump -n -t -d -R <dbname> #or
    mysqldump --no-create-db --no-create-info --no-data --routines <dbname>
    

    这有帮助吗?

    【讨论】:

    • 在我的 mysqldump 版本(mysqldump Ver 10.13 Distrib 5.1.69,用于 debian-linux-gnu (x86_64))中,至少应该是 -R,而不是 -r。来自文档:-R,--routines 转储存储的例程(函数和过程)。 -r, --result-file=name 直接输出到给定文件。此选项应在 MSDOS 中使用,因为它可以防止将新行 '\n' 转换为 '\r\n'(回车 + 换行)。
    • @davej 好点——我想我错过了。 (我想我已经测试过了,但我想没有……)感谢您的说明。
    • DOS>mysqldump -uroot -p -n -t -d -R test > test_procs.sql
    【解决方案2】:

    您也可以将routines=true 放入您的my.cnf 文件的[mysqldump] 部分(您可能必须添加此部分,因为它通常不存在于原始my.cnf 文件中)以将例程包含在正常的转储。

    【讨论】:

      【解决方案3】:
      mysqldump - u dbusername (ex: -uroot) -ppassword (ex:-pmysql@dbpas) --routines <dbname>
      

      使用用户名和密码会更有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-04
        • 2020-07-09
        • 1970-01-01
        • 2023-01-02
        • 1970-01-01
        • 2021-11-25
        • 2011-01-19
        • 1970-01-01
        相关资源
        最近更新 更多