【问题标题】:how to take mysql backup through mysqldump command with affecting production server?如何通过 mysqldump 命令进行 mysql 备份并影响生产服务器?
【发布时间】:2013-12-11 17:23:24
【问题描述】:

我写了一个 shell 脚本,每天备份一次,但是每当它启动 mysql 时,它会锁定数据库并且站点会关闭。

我不想影响实时服务器 因为网站可以访问不同的时区,所以不能在晚上进行备份

【问题讨论】:

标签: mysql database


【解决方案1】:

避免此问题的一种方法是设置MySQL replication 并使用从数据库进行备份。

优点是您可以获得数据库的完整复制,并且可以有效地进行热备份,无论数据库类型如何。 但是,您确实需要另一个数据库服务器,并且有效地将存储容量翻倍(因为您正在维护另一个数据库副本)

不是每个人的一杯茶,但仍然是一种选择。

【讨论】:

    【解决方案2】:

    如果您使用的是 MyISAM,您可以使用 --lock-tables=false 通知 MySQL 您不想锁定表。如果你使用 InnoDB,你可以使用--single-transaction 来避免锁。

    http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

    【讨论】:

    • 谢谢!!!我使用混合类型表(innodb 和 myisam),我使用了 --skip-lock-tables [option]
    【解决方案3】:

    解决问题

    mysqldump -u[user] -p[password] dbname --skip-lock-tables | gzip > soohoo_backup.sql.gz

    【讨论】:

      【解决方案4】:

      你可以使用:

      mysqldump -u [user] -p[password] [dbname] > dumpfile.sql
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-23
        • 2013-07-05
        • 2010-11-07
        • 1970-01-01
        • 2018-08-22
        • 1970-01-01
        相关资源
        最近更新 更多