日期:2014-05-16  浏览次数:20474 次

MYSQL数据库常用备份及恢复语句

备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。

mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件


备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql


直接将MySQL数据库压缩备份?

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz


备份MySQL数据库某个(些)表?

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql


同时备份多个MySQL数据库?

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql


仅仅备份数据库结构?

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql


备份服务器上所有数据库?

mysqldump –all-databases > allbackupfile.sql


还原MySQL数据库的命令?

mysql -hhostname -uusername -ppassword databasename < backupfile.sql


还原压缩的MySQL数据库?

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename


将数据库转移到新服务器?

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

?

?几个常用用例:?

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u root -p dataname >dataname.sql?

这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中.


2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u root -p dataname users> dataname_users.sql?


3.导出一个数据库结构

mysqldump -uroot -p -d –add-drop-table mydatabase >c:\backup.sql?

-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table


4.导入数据库

常用source 命令

进入mysql数据库控制台,

如mysql -u root -p


mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)