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

为了安全起见,需要经常对数据库作备份,或者还原。对于 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
, 备份
还原
mysql数据库备份还原、mysql 备份还原、mysql 数据备份和还原、mysql的备份与还原、mysql备份还原命令,以便于您获取更多的相关知识。

时间: 2024-08-01 18:40:19

简单的MySQL备份与还原方法分享_Mysql的相关文章

RedHat下MySQL的基本使用方法分享_Mysql

1. 下载RPM安装包, 因为安装MySQL的时候,软件会需要一依赖关系, 所以建议把所有的安装包下载下载, 再依次安装所以的RPM包. 2. 在RedHat下安装后, root密码为空, 设置MySQL的 root密码, 用下面的命令来设置. [nb@SIT ~]$ mysql -u root -p[newpassword] 3. 修改MySQL的root 密码, 用下面 的命令: [nb@SIT ~]$ mysqladmin -u root -p[oldpasswrod] password[

mysql limit分页优化方法分享_Mysql

同样是取10条数据 select * from yanxue8_visit limit 10000,10 和 select * from yanxue8_visit limit 0,10 就不是一个数量级别的. 网上也很多关于limit的五条优化准则,都是翻译自MySQL手册,虽然正确但不实用.今天发现一篇文章写了些关于limit优化的,很不错. 文中不是直接使用limit,而是首先获取到offset的id然后直接使用limit size来获取数据.根据他的数据,明显要好于直接使用limit.这

MySQL数据库备份与还原方法总结

备份策略一:直接拷贝数据库文件(不推荐) 备份策略二:使用mysqlhotcopy备份数据库(完全备份,适合小型数据库备份) 备份策略三:使用mysqldump备份数据库(完全+增量备份,适合中型数据库备份) 备份策略四:使用主从复制机制(replication)(实现数据库实时备份) 备份策略一.直接拷贝数据库文件 直接拷贝数据文件最为直接.快速.方便,但缺点是基本上不能实现增量备份.为了保证数据的一致性,需要在备份文件前,执行以下 SQL 语句: FLUSH TABLES WITH READ

thinkphp备份数据库的方法分享

 这篇文章主要介绍了thinkphp备份数据库的方法分享,非常的简单实用,推荐给有需要的小伙伴们     貌似THINKPHP没有备份数据库的方法,所以我自己写了一个,数据库连接和事务处理用的是pdo,如果有需要的可以联系我,写个mysql或者mysqli的   代码如下: <?php class SqlAction extends Action{ function outsql(){ header("Content-Type:text/html;charset=utf-8″); /*用C

MySQL备份与还原几种实用方法总结

总结下几种常用的mysql备份方法: 一.直接拷贝数据库文件 首先把内存中的数据都刷新到磁盘中,同时锁定数据表,以保证拷贝过程中不会有新的数据写入: mysql>FLUSH TABLES WITH READ LOCK; 使用tar或cp等命令备份数据库文件,这里使用tar: tar zcvf /backup/mysql_$(date "+%Y%m%d").tar.gz /var/lib/mysql c.备份完后解锁数据表 mysql> unlock tables; 这种方法

mysql 数据库备份和还原方法集锦 推荐_Mysql

作/译者:叶金荣(Email: ),来源:http://imysql.cn/,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 日期:2006/10/01 本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22. 目前 MySQL 支持的免费备份工具有:mysqldump.mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INT

mysqldump,source数据备份与还原方法

还原一个数据库:  代码如下 复制代码 mysql -h localhost -u root -p123456 www 备份一个数据库:  代码如下 复制代码 mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql 本地: 1.进入MySQL目录下的bin文件夹:e:回车: e:>cd mysqlbin  回车 2.导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名  代码如下 复制代

一个简单的MySQL备份Shell脚本_Mysql

#!/bin/bash #this is a script of mysql backup if [ ! -d /mydata/data1/backup ] ;then mkdir /mydata/data1/backup fi cd /mydata/data1/backup file=$(find . -type f -mtime -7 | grep .*all.sql) #查找7天内是否有备份的文件 echo $file if [ -z $file ] ;then echo "backup

thinkphp备份数据库的方法分享_php技巧

貌似THINKPHP没有备份数据库的方法,所以我自己写了一个,数据库连接和事务处理用的是pdo,如果有需要的可以联系我,写个mysql或者mysqli的 复制代码 代码如下: <?php class SqlAction extends Action{ function outsql(){ header("Content-Type:text/html;charset=utf-8″); /*用C方法读取数据库配置*/ $host=C('DB_HOST'); $db_name=C('DB_NAM