当我们MySQL数据库保存重要数据的时候,备份工作极为重要。本文介绍如何使用mysqldump备份和恢复数据,使用该方法,可以将数据库中的数据备份成一个文本文件,也可将备份好的数据库迁移到另一台的服务器。

(1) 从命令行备份MySQL数据库

在Linux操作系统中,我们可以使用mysqldump命令进行备份。该命令将连接MySQL服务器并创建SQL转储文件,该文件包含了重新创建数据库所必需的所有SQL语句。该命令的基本语法如下:

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

[uname] 数据库用户名

[pass] 数据库密码

[dbname] 数据库名

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

[--opt] mysqldump选项

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

$ mysqldump -u root -p Tuixin > 20131112.sql

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

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

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

$ mysqldump -u root -p Tuixin | gzip -9 > 20131112.sql.gz

解压缩方法如下:

$ gunzip 20131112.sql.gz

(2) 从命令行恢复MySQL数据库

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

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

* 使用mysql命令载入sql文件

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

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

$ mysql -u root -p Tuixin < 20131112.sql

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

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

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

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

注:MySQL还有一种最简单的备份方法,就是直接将MySQL中的数据库文件直接复制出来,这种方法最简单,速度也最快,但使用这种方法时,最好先停止服务器,以保证数据库在复制过程中不会发生变化。该方法简单快速,但不是最好的备份方法,实际情况可能不允许停止MySQL服务器,而且这种方法对InnoDB引擎不适用。

备份表多秒空格隔开

mysqldump -uroot 密码 --tables stormcenter storm_auth_rule storm_auth_group > db.table.sql

 

Linux系统下MySQL数据库的备份和恢复的更多相关文章

  1. 解决Linux系统下Mysql数据库中文显示成问号的问题

    当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打 ...

  2. Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装MySQL5.7.21 数据库安装文件夹为    /home/devil/mysql 现 ...

  3. 修改linux系统下mysql数据库登陆密码(密码忘记)

    报错:Access denied for user 'root'@'localhost' (using password: NO) 解决方案: 1. 检查mysql服务是否启动,如果启动,关闭mysq ...

  4. linux系统下mySQL数据库 备份方法和脚本

    数据库备份1.创建个备份存储目录mkdir /root/backup/2.以下内容写到dbbackup.sh #!/bin/bash cd /data/db_backup/mysqldump -uad ...

  5. linux系统上Mysql数据库导入导出操作

    需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作 ...

  6. Linux系统环境下MySQL数据库源代码的安装

    Linux系统环境下MySQL数据库源代码的安装 基本环境:CentOS Linux release 7.8.2003 (Core).MySQL5.6 一.      安装环境准备 若要在Linux系 ...

  7. linux系统下MySQL表名区分大小写问题

    linux系统下MySQL表名区分大小写问题 https://www.cnblogs.com/jun1019/p/7073227.html [mysqld] lower_case_table_name ...

  8. Windows系统下MySQL数据库出现Access denied for user 'root'@'localhost' (using password:YES) 错误

    Windows系统下MySQL数据库出现Access denied for user 'root'@'localhost' (using password:YES) 错误,(root密码错误) 处理方 ...

  9. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

随机推荐

  1. 在mvc4里怎样引用:System.Web.Optimization和entityframework

    请在nuget 里运行: Install-Package Microsoft.AspNet.Web.Optimizationinstall-package entityframework

  2. jQuery特性

      CreateTime--2017年7月17日11:45:27Author:Marydon jQuery特性 1.jQuery取值 使用jQuery进行页面取值时,获取到的值的类型有两种:strin ...

  3. iOS动画进阶 - 实现炫酷的上拉刷新动效

    移动端訪问不佳,请訪问我的个人博客 近期撸了一个上拉刷新的小轮子.仅仅要遵循一个协议就能自己定义自己动效的上拉刷新和载入,我自己也写了几个动效进去,以下是一个比較好的动效的实现过程 先上效果图和git ...

  4. mysql 禁制远程连接

    改表法:把host地址改为% use mysql; update user set host = '%' where user = 'root'and host="127.0.0.1&quo ...

  5. 关于Javascript表单验证

    //验证字符串非空        var Validator = {    VerityLib: {         IsNotEmpty: function (input) {        if ...

  6. linux下vi编辑文件

    vi 文件名.进入读文件模式 按i进入编辑模式 按g切光标换到第一行,按G光标切换到最后一行. 按Esc退出编辑模式 :q退出 :wq保存退出 以上命名后面加上!表示强制运行

  7. 开发avr单片机网络资源

    1.avr用的c语言标准库 http://www.nongnu.org/avr-libc/ 2.avr的下载上传器 http://www.nongnu.org/avrdude/ 3.编程环境platf ...

  8. C语言的工具集

    1. lint可以对c程序进行更加广泛的错误分析,lint不是缩写,它的命名是因为它像在程序中“吹毛求疵”,现在许多linux发行版都包括了它的增强版splint(Secure Programming ...

  9. 出现“unrecognized selector sent to instance”问题原因之一及解决方法。

      ​ 对于iPhone开发初学者来说,很想实现自己在iPhone上的第一个小程序,准备工作就绪侯就信心满满的开始了!一般来说大家可能都是从Hello World做起吧. 反正我是的,:),如果按照文 ...

  10. AngularJS 和 Electron 构建桌面应用

    译]使用 AngularJS 和 Electron 构建桌面应用 原文: Creating Desktop Applications With AngularJS and GitHub Electro ...