Chinaunix首页 | 论坛 | 博客
  • 博客访问: 897767
  • 博文数量: 1812
  • 博客积分: 90800
  • 博客等级: 元帅
  • 技术积分: 22390
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 18:35
文章分类

全部博文(1812)

文章存档

2008年(1812)

我的朋友

分类:

2008-05-03 20:24:27

技术文章

写在前面:
-----------------------------------------------------------------
有时候经常要把数据库转来转去,或者导入导出,以前记得命令,后来又忘记了,现在写出来备忘!
------------------------------------------------------------------

注意:mysqldump比直接拷贝数据库文件夹速度要慢
但,直接复制文件夹不能100%转移到其它机子上用,我说的不是windows下 :)

#mysqldump db_name >/path/name.sql

上面的命令意思是把一个库导出到一个SQL文件. 当然,你直接在有ROOT密码的机子上执行以上命令一定会报错.所以,请用

#mysqldump db_name >/path/name.sql -uroot -p

这回会要求你输入密码,输入正确,找找/path下是不是有name.sql文件了?

数据库太大了,想压缩一下?好,用这个命令就行

#mysqldump db_name |gzip >/path/name.gz -uroot -p

想备份全部的库呢?

#mysqldump --all-databases >/path/name.sql -uroot -p

#mysqldump --all-databases |gzip >/path/name.gz -uroot -p (很明显,这条命令是加压缩的意思)

只想备份一个单独或者几个表?

有时候数据库很大很大,整个库备份就不好管理,那就单独备份

#mysqldump db_name tab_name >/path/sqlname.sql -uroot -p

备份做好了.遇到问题的时候.怎么用备份恢复数据?

再简单不过了,

mysql db_name < backup-file.sql -uroot -p

注意:如果你想恢复的数据库是包含授权表的mysql数据库,你需要用--skip-grant-table选项运行服务器。否则,它会抱怨不能找到授权表。在你已经恢复表后,执行mysqladmin flush-privileges告诉服务器装载授权标并使用它们

恢复单个表

 恢复单个表较为复杂,如果你用一个由mysqldump生成的备份文件,并且它不包含你感兴趣的表的数据,你需要从相关行中提取它们并将它们用作mysql的输入。这是容易的部分。难的部分是从只运用于该表的更新日志中拉出片断。你会发觉mysql_find_rows实用程序对此很有帮助,它从更新日志中提取多行查询。

好了,就这些,看起来并不难,如果你有问题,欢迎到发问.

复制请保留文章完整!


写在前面:
-----------------------------------------------------------------
有时候经常要把数据库转来转去,或者导入导出,以前记得命令,后来又忘记了,现在写出来备忘!
------------------------------------------------------------------

注意:mysqldump比直接拷贝数据库文件夹速度要慢
但,直接复制文件夹不能100%转移到其它机子上用,我说的不是windows下 :)

#mysqldump db_name >/path/name.sql

上面的命令意思是把一个库导出到一个SQL文件. 当然,你直接在有ROOT密码的机子上执行以上命令一定会报错.所以,请用

#mysqldump db_name >/path/name.sql -uroot -p

这回会要求你输入密码,输入正确,找找/path下是不是有name.sql文件了?

数据库太大了,想压缩一下?好,用这个命令就行

#mysqldump db_name |gzip >/path/name.gz -uroot -p

想备份全部的库呢?

#mysqldump --all-databases >/path/name.sql -uroot -p

#mysqldump --all-databases |gzip >/path/name.gz -uroot -p (很明显,这条命令是加压缩的意思)

只想备份一个单独或者几个表?

有时候数据库很大很大,整个库备份就不好管理,那就单独备份

#mysqldump db_name tab_name >/path/sqlname.sql -uroot -p

备份做好了.遇到问题的时候.怎么用备份恢复数据?

再简单不过了,

mysql db_name < backup-file.sql -uroot -p

注意:如果你想恢复的数据库是包含授权表的mysql数据库,你需要用--skip-grant-table选项运行服务器。否则,它会抱怨不能找到授权表。在你已经恢复表后,执行mysqladmin flush-privileges告诉服务器装载授权标并使用它们

恢复单个表

 恢复单个表较为复杂,如果你用一个由mysqldump生成的备份文件,并且它不包含你感兴趣的表的数据,你需要从相关行中提取它们并将它们用作mysql的输入。这是容易的部分。难的部分是从只运用于该表的更新日志中拉出片断。你会发觉mysql_find_rows实用程序对此很有帮助,它从更新日志中提取多行查询。

好了,就这些,看起来并不难,如果你有问题,欢迎到发问.

复制请保留文章完整!


技术文章 用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库用mysqldump 来备份数据库
阅读(170) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~