我有一个mysql服务器的root访问权限,我需要在服务器内部转储所有数据库。 我尝试使用一个简单的mysqldump,但由于数据库和表的大小,服务器和PC似乎被阻止了。我可以“优化”这个DUMP,避免锁定服务器(和PC)吗?
非常感谢你!
修改
我想从Mysql Server导出所有数据库。 我需要了解传递给mysqldump的选项以避免阻塞:
答案 0 :(得分: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
答案 1 :(得分:0)
您可以禁用锁定:
mysqldump --skip-lock-tables
当然,您无法以这种方式创建一致的转储,因此我不建议使用该选项。
当只使用MyISAM和ARCHIVE表时,您可能需要考虑使用mysqlhotcopy(包含在常规的mysql包中)。有类似InnoDB等其他表引擎的软件。
另一个选择是使用复制从服务器进行备份。