文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用mysqldump对MySQL数据库进行数据备份与恢复

用mysqldump对MySQL数据库进行数据备份与恢复

时间:2010-06-16  来源:hkebao

数据库备份是很重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少。MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份,下面假设要备份admin99这个数据库:

引用 mysqldump -u root -p admin99 > admin99.sql
按提示输入密码,这就把admin99数据库所有的表结构和数据备份到admin99.sql了.
因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下:

引用 mysqldump -u root -p admin99 | gzip > admin99.sql.gz   (能够直接这样写哦!要注意了)

系统崩溃,重建系统时,可以这样恢复数据:

引用 mysql -u root -p admin99 < admin99.sql
从压缩文件直接恢复:

引用
gzip < admin99.sql.gz | mysql -u root -p admin99
如果要备份所有数据库,可以是用--all-databases 选项

引用 mysqldump -u root -p --all-databases > mysql.sql
如果备份多个数据库中的其中几个,可以是用--databases 选项,例如备份admin99和mysql这两个数据库

引用 mysqldump -u root -p --databases mysql admin99 > mysql.sql[指定备份的数据库]
在 正在运行的系统上备份时需要注意,mysqldump备份的时候会锁表,造成暂时的不可访问。如果数据库较小,比如只有两三百M,能在很短时间内备份出来 则无所谓,如果时间较长,就需要衡量一下了。使用 --skip-opt选项时不会产生锁表操作,但如果表中有类似于 auto_increment 的属性的话,这些属性会丢失。

示例:mysqldump --skip-opt -u root --password=123456 dbname >mySQL.SQL

疑问?那如果我有一个表里面有一个自增长的ID的。这个选项是不可用的。如果我想在线备份而又不想锁表的话怎么办?
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载