您的位置: 鄂州信息港 > 美食

教你如何备份和拷贝 MYSQL 数据库(3)

发布时间:2019-12-05 06:02:20

稍后,如果想要在boa.snake.net 中再次刷新该数据库,可跳过mysqladmin 命令,但要将--add-drop-table增加到mysqldump 中,以避免得到有关“表已经存在”的错误:

% mysqldump --add-drop-table samp_db | mysql-h boa-snake.net samp_db

mysqldump 的其他选项包括如下所示的几个: --flush-log 和--lock-tables 的结合有助于检查数据库。--lock-table锁定所有正在转储的表,而--flush-log关闭并重新打开更新日志文件。如果正在产生后续的更新日志,则新的更新日志将只包含从备份的那一点开始修改数据库的查询。这时检查对于该备份时间的更新日志的检查点(然而,锁定所有的表对于备份期间客户机访问来说不太好,如果您有需要执行更新操作的客户机的话)。 如果用--flush-logs检查对于备份时间的更新日志检查点,转储整个数据库。如果转储单个文件,则将更新日志的检查点与备份文件同步是比较难的。在恢复操作中,您通常在总数据库(per- database)的基础上抽取更新日志的内容。对于抽取单个表的更新日志来说没有选项,因此您必须自己抽取它们。 缺省设置时,mysqldump将表的全部内容在写之前读到内存中。这实际上不是必须的,事实上,如果您真的有大型表的话,这几乎是一个失败的方法。可以用--quick选项告诉mysqldump 写每一行(只要是被检索的)。要想进一步优化该转储过程,可用- - opt来代替- - quick。-- opt 选项开启其他的选项,这些选项将加快转储数据和读回数据的速度。由于快速备份的好处,使得用--opt 执行备份成为常用的方法。但是,要当心, - -opt 选项有一个代价: --opt所优化的是您的备份过程,而不是由其他客户机对数据库的访问。--opt 选项可防止任何人更新被锁定的正在转储的任何表。您会很容易地发现在常规数据库访问中在这一点上所做的努力。试着在一天中数据库通常繁忙的时刻运行一个备份。这不会花费太多的时间。 与--opt 作用有点相反的选项是- delayed。该选项导致mysqldump 写INSERT DELAYED语句而非INSERT语句。如果您将一个数据文件加载到另一个数据库中并且想要使该操作对其他查询(这些查询可能正在数据库中发生)造成的影响小,则- -delayed将有助于达到这个目的。 --compress选项有助于将数据库拷贝到另一台机器上,因为它可以减少网络传输中的字节数量。这里有一个例子,请注意,为了使程序与远程主机上的服务器进行通信(而不是与本地主机通信),给出了--compress选项: % mysqldump --opt samp_db | mysql--compress -h boa.snake.net samp_db

mysqldump 有许多选项,详细信息请参考附录E。

京都儿童医院能做口腔科吗
荥阳市人民医院预约挂号
沧州治疗卵巢炎医院
成都能治好癫痫病的医院
合肥治疗龟头炎医院
猜你会喜欢的
猜你会喜欢的