我对mysql服务器有根访问权,我需要转储服务器内的所有数据库。我尝试使用一个简单的mysqldump,但是由于数据库和表的庞大,服务器和pc似乎被阻塞了。我能“优化”这个转储,避免锁定服务器(和PC)吗?
非常感谢!
编辑:
我想从Mysql服务器导出所有数据库。我需要了解传递给mysqldump的哪些选项以避免阻塞:
发布于 2012-12-07 10:34:44
从命令行启动转储命令。:
mysqldump <other mysqldump options> --routines > outputfile.sql如果我们只想备份存储过程和触发器,而不是mysql表和数据,那么我们应该运行以下内容:
mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt <database> > outputfile.sql如果需要将它们导入到另一个db/服务器,则必须运行以下命令:
mysql <database> < outputfile.sql发布于 2012-12-07 11:10:45
您可以禁用锁定:
mysqldump --skip-lock-tables当然,您不能以这种方式创建一致的转储,所以我不建议使用该选项。
当只使用MyISAM和归档表时,您可能需要考虑使用mysqlhotcopy (包含在常规mysql包中)。其他表引擎(如InnoDB )也有类似的软件可用。
另一个选项是使用复制从服务器进行备份。
https://stackoverflow.com/questions/13760688
复制相似问题