WEB开发网
开发学院数据库MySQL Mysql入门系列:备份和拷贝MYSQL数据库 阅读

Mysql入门系列:备份和拷贝MYSQL数据库

 2006-12-31 10:52:51 来源:WEB开发网   
核心提示: % mysqladmin -h boa.snake.netcreate samp_db% mysqldump samp_db | mysql-h boa.snake.net samp_db稍后,如果想要在boa.snake.net 中再次刷新该数据库,Mysql入门系列:备份和拷贝MYSQ

% mysqladmin -h boa.snake.netcreate samp_db

% mysqldump samp_db | mysql-h boa.snake.net samp_db

稍后,如果想要在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- d a t a b a s e)的基础上抽取更新日志的内容。对于抽取单个表的更新日志来说没有选项,因此您必须自己抽取它们。

缺省设置时,mysqldump 将表的全部内容在写之前读到内存中。这实际上不是必须的,事实上,如果您真的有大型表的话,这几乎是一个失败的方法。可以用--quick 选项告诉mysqldump 写每一行(只要是被检索的)。要想进一步优化该转储过程,可用- - o p t

来代替- - q ui c k。-- opt 选项开启其他的选项,这些选项将加快转储数据和读回数据的速度。

由于快速备份的好处,使得用--opt 执行备份成为最常用的方法。但是,要当心, - - o p t 选项有一个代价: --opt 所优化的是您的备份过程,而不是由其他客户机对数据库的访问。--opt 选项可防止任何人更新被锁定的正在转储的任何表。您会很容易地发现在常

上一页  1 2 3 4 5  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接