0

我有一个 mysql 服务器的 root 访问权限,我需要转储服务器内的所有数据库。我尝试了一个简单的 mysqldump,但由于数据库和表的大小,服务器和 pc 似乎被阻塞了。我可以“优化”这个 DUMP 避免锁定服务器(和 PC)吗?

太感谢了!

编辑:

我想从 Mysql 服务器中导出所有数据库。我需要了解将哪些选项传递给 mysqldump 以避免阻塞:

  1. Mysql 服务器 <---- 它不能关闭
  2. 将要执行此 DUMP 的 PC
4

2 回答 2

0

从命令行触发转储命令。:

mysqldump <other mysqldump options> --routines > outputfile.sql

如果我们只想备份存储过程和触发器,而不是 mysql 表和数据,那么我们应该运行类似:

mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt <database> > outputfile.sql

如果您需要将它们导入到另一个数据库/服务器,则必须运行以下命令:

mysql <database> < outputfile.sql
于 2012-12-07T10:34:44.273 回答
0

您可以禁用锁定:

mysqldump --skip-lock-tables

当然,您将无法以这种方式创建一致的转储,因此我不建议使用该选项。

当仅使用 MyISAM 和 ARCHIVE 表时,您可能需要考虑使用 mysqlhotcopy(包含在常规 mysql 包中)。其他表引擎(如 InnoDB)也有类似的软件可用。

另一种选择是使用复制从属设备进行备份。

于 2012-12-07T11:10:45.640 回答