mysql 数据备份还原

时间:2022-09-14 00:20:08

悲剧的一天,不小心将数据库删了。。。

命令行备份数据库

1、mysqldump命令进行备份。该命令将连接MySQL服务器并创建SQL转储文件,该文件包含了重新创建数据库所必需的所有SQL语句。该命令的基本语法如下:

$ mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]

[uname] 数据库用户名

[pass] 数据库密码

[dbname] 数据库名

[backupfile.sql] 数据库备份文件名

[--opt] mysqldump选项

例如:备份数据库Trunk2015到20151112.sql文件,你可以简单地使用以下命令:

$ mysqldump -u root -p Trunk2015 > 20151112.sql

如果有必要一次导出所有的数据库,可使用--all-databases选项,命令如下:

$ mysqldump -u root -p --all-databases > 20151112.sql

如果mysql数据库较大,你可能希望能压缩mysqldump导出的SQL文件,此时仅需使用如下的备份命令,并通过管道连接到gzip,此时便可导出gzip文件。

$ mysqldump -u root -p Trunk2015 | gzip -9 > 20151112.sql.gz

解压缩方法如下:

$ gunzip 20151112.sql.gz

从命令行恢复MySQL数据库

通过上面的方法,我们已经将数据库Trunk015备份至20151112.sql文件,接下来,我们恢复Trunk2015数据库:

* 在目标机器上创建相应的数据库名

* 使用mysql命令载入sql文件

$ mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]

例如,我们现在恢复20151112.sql文件到Trunk2015数据库:

$ mysql -u root -p Trunk2015 < 20151112.sql

mysql 数据备份还原

如果是恢复压缩的备份文件,可遵循以下格式:

$ gunzip < [backupfile.sql.gz] | mysql -u [uname] -p[pass] [dbname]

这里出现了错误,

mysql 数据备份还原

可以使用$ gunzip < [backupfile.sql.gz] | mysql -u [uname] -p [dbname]换行输入密码

mysql 数据备份还原

如果是恢复已经存在的数据库,此时可使用mysqlimport命令,该命令的语法格式如下:

$ mysqlimport -u [uname] -p[pass] [dbname] [backupfile.sql]