视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
命令行模式下备份、还原MySQL数据库的语句小结
2020-11-09 21:11:01 责编:小采
文档


为了安全起见,需要经常对数据库作备份,或者还原。对于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的导出、导入功能了,但如果你的数据库体积比较大,作为 Web 应用的 phpMyAdmin 可能会遭遇“超时”而操作失败。所以,学会在命令行模式下备份、还原数据库,还是很有必要的。

1、备份数据库
在 Linux 命令行模式下备份 MySQL 数据库,用的是 mysqldump 命令:

代码如下:
mysqldump -u mysqluser -p test_db

对以上命令稍作解释:

•-u 意味着你要指定一个 MySQL 用户名来连接数据库服务,如上面的 mysqluser 即为 MySQL用户名。
•-p 则意味着你需要有一个有效的,与以上用户名对应的密码。
•最后一个参数则是需要备份的那个数据库的名称:test_db

如果直接执行以上命令,紧接着就会提示需要输入 MySQL 密码,数据密码后,它会直接将备份出来的 SQL 脚本显示在屏幕上,这当然不是我们想要的结果。我们需要把数据库备份成一个文件,可用以下命令:
代码如下:
mysqldump -u mysqluser -p test_db > test_db.sql

这样,就会在当前目录下备份出一个名为test_db.sql的文件。

当然,如果数据库体积比较大,通常会对备份出来的文件进行压缩,备份和压缩可以在同一行命令内完成:
代码如下:
mysqldump -u mysqluser -p test_db | gzip > test_db.sql.gz

压缩的时候,最好再给文件名加上扩展名.gz,以便下次还原数据库的时候心中有数。

2、还原数据库
还原数据库的命令也很简单,如果你备份出来的文件是未压缩的版本,则还原数据库的命令如下:
代码如下:
cat test_db.sql | mysql -u mysqluser -p test_db

用cat命令,把 SQL 脚本内容输出给 MySQL 程序以便还原。可以看到,MySQL 后面的几个参数,跟备份时候的一样。

如果是已压缩版本的备份文件,则需用以下命令才能还原:
代码如下:
gunzip < test_db.sql.gz | mysql -u mysqluser -p test_db

类似地,用gunzip命令,解压缩,然后把脚本内容输出给 MySQL 程序以便还原。

2012-10-08 update:

如不考虑将 .sql 文件压缩打包的话,也可以用下面两条语句分别导出、导入。
代码如下:
mysqldump -u root -p test_db > test_db.sql
mysql -u root -p test_db < test_db.sql

备份MySQL数据库的命令
代码如下:
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式
备份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

您可能感兴趣的文章:

  • mysqldump备份还原和mysqldump导入导出语句大全详解
  • PHP备份/还原MySQL数据库的代码
  • mysql 数据库备份和还原方法集锦 推荐
  • MySQL数据库备份和还原的常用命令小结
  • MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原教程
  • MySQL使用命令备份和还原数据库
  • 详解MYSQL的备份还原(PHP实现)
  • 深入解析Linux下MySQL数据库的备份与还原
  • MySQL数据库如何导入导出(备份还原)
  • 史上最简单的MySQL数据备份与还原教程(上)(三十五)
  • 下载本文
    显示全文
    专题