0

我已经编写了一个 shell 脚本,每天进行备份,但是每当它启动 mysql 时,它就会锁定数据库并且站点出现故障。

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

4

4 回答 4

1

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

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

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

于 2013-02-22T13:01:35.403 回答
0

解决问题

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

于 2013-02-22T14:22:06.953 回答
0

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

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

于 2013-02-22T12:58:24.987 回答
0

您可以使用 :

mysqldump -u [user] -p[password] [dbname] > dumpfile.sql
于 2013-12-11T09:04:03.730 回答