码迷,mamicode.com
首页 > 数据库 > 详细

数据库备份和恢复

时间:2017-08-29 19:41:11      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:mysql   文件中   gzip   back   size   base   table   还原   t权限   

mysqldump命令备份:将数据库中的数据备份成一个文本文件,表结构和表中的数据将存储在生成的文本中。

->工作原理:先查出需要备份的表结构,再在文本文件中生成一个create语句,然后将所有记录转换为一条insert语句。create语句和insert语句都是为了以后恢复时使用。

->备份和恢复都在linux的root权限下进行,注意不是mysql下。

 

->语法: mysqldump -h主机名  -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql

   例子: mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

->还原MySQL数据库的命令
              mysql -hhostname -uusername -ppassword databasename < backupfile.sql     注意数据库名必须要存在,因为备份只备份表结构create和表数据insert

->备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
   mysqldump --add-drop-table -uusername -ppassword databasename > backupfile.sql

->直接将MySQL数据库压缩备份
   mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

->还原压缩的MySQL数据库
    gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

->备份MySQL数据库某个(些)表
   mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

->同时备份多个MySQL数据库
   mysqldump -hhostname -uusername -ppassword --databases databasename1 databasename2 databasename3 > multibackupfile.sql

   --databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,

->仅仅备份数据库结构
   mysqldump --no-data --databases databasename1 databasename2 databasename3 > structurebackupfile.sql

->备份服务器上所有数据库? 
   mysqldump -uroot  -p123lqh -A  > allbackupfile.sql            mysqldump -uroot  -p123lqh -A  -d> allbackupfile.sql  备份所有数据库但只备份表结构    

 

->将数据库转移到新服务器

 

   mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

 

 

 

 

 

 

 

 

 

数据库备份和恢复

标签:mysql   文件中   gzip   back   size   base   table   还原   t权限   

原文地址:http://www.cnblogs.com/linqiuhua/p/7449824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!