简单的MySQL备份与还原方法分享

作者:libuchao 时间:2024-01-24 22:51:13 

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

Linux系统下
备份数据库

在 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的文件。

当然,如果数据库体积比较大,通常会对备份出来的文件进行压缩,备份和压缩可以在同一行命令内完成:


cat test_db.sql | mysql -u mysqluser -p test_db

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

还原数据库的命令也很简单,如果你备份出来的文件是未压缩的版本,则还原数据库的命令如下:


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 程序以便还原。

如不考虑将 .sql 文件压缩打包的话,也可以用下面两条语句分别导出、导入


mysqldump -u root -p test_db > test_db.sql
mysql -u root -p test_db < test_db.sql

Windows系统下
备份

开始菜单 | 运行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 5.0/bin”命令进入bin文件夹 | 利用“mysqldump  -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。 
 
还原
进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

 

标签:MySQL,备份,还原
0
投稿

猜你喜欢

  • MySQL重置root密码提示"Unknown column ‘password"的解决方法

    2024-01-14 19:57:54
  • Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份

    2024-01-13 19:12:27
  • SQL 合并多行记录的方法总汇

    2024-01-18 23:38:24
  • Python 数据类型中的字符串和数字

    2023-04-30 07:51:58
  • python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)

    2021-11-30 22:35:03
  • Python动态导入模块的方法实例分析

    2022-06-08 17:56:45
  • python字符串替换re.sub()方法解析

    2022-02-14 16:51:42
  • python字典的setdefault的巧妙用法

    2021-05-18 02:58:48
  • Golang中omitempty关键字的具体实现

    2024-04-25 15:12:55
  • Docker安装MySQL8.0的实现方法

    2024-01-23 06:52:06
  • Python Selenium 之关闭窗口close与quit的方法

    2023-11-14 01:28:06
  • python爬虫调度器用法及实例代码

    2023-02-15 08:54:21
  • python sklearn 画出决策树并保存为PDF的实现过程

    2023-08-05 00:23:54
  • JavaScript验证图片类型(扩展名)的函数分享

    2024-04-17 09:51:00
  • MAC下Mysql5.7.10版本修改root密码的方法

    2024-01-27 00:05:58
  • 用Python定时发送天气邮件

    2022-09-22 15:11:31
  • AI:如何训练机器学习的模型

    2023-01-16 13:18:49
  • Oracle9i取得建表和索引的DDL语句

    2010-07-20 12:59:00
  • 使用python和Django完成博客数据库的迁移方法

    2022-05-16 03:58:25
  • 使用Python对Csv文件操作实例代码

    2023-04-17 23:50:57
  • asp之家 网络编程 m.aspxhome.com