当我们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. 首次使用JBoss流程(windows下)

    1.首先应该明白JBoss分为社区版(AS)和企业版(EAP),其中社区版已经改名wildfly(难道是野苍蝇的意思?),企业版对个人开发者免费下载使用, 这里由于公司要求,我用的是jboss-eap ...

  2. Linux 网桥配置命令:brctl

    Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联: 思路其实很简单:就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个brid ...

  3. WebService注解

    package cn.itcast.service; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.W ...

  4. C# 非顶端窗口截图 - 用于查找指定窗口并截图

    原文地址:http://blog.csdn.net/u013096568/article/details/53400389 panel上可以通过DrawToBitmap截图,不管是否在屏幕外是否有遮挡 ...

  5. dubbox rest协议jackson 反序列化的坑

    dubbox 相对于dubbo 对了 rest 协议的支持  而且默认序列化的协议 是json dubbox 内部是通过 RestEasy 处理 rpc 服务 而 RestEasy获取序列化是 是通过 ...

  6. js身份证验证算法

    var validateIdCard=function (id, backInfo) { var info={ y: "1900", m: "01", d: & ...

  7. layui 数据表格 根据值(1=业务,2=机构)显示中文名称

    数据是用ThinkPHP5操作 类型是固定4个, 用layui templet - 自定义模板 方法一: {field:'type', title: '类型', width: 200, templet ...

  8. vue使用vue-resource,进行网络请求

    首先使用vue-resource,需要安装 : https://blog.csdn.net/qq_36947128/article/details/72832977 下面我写的一个例子: 网络请求应该 ...

  9. unity, asset operations

    //----create asset //ref: http://wiki.unity3d.com/index.php?title=CreateScriptableObjectAsset CmyScr ...

  10. Linux下使用DD命令测试磁盘读写速度

    dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,所以可以用来测试硬盘的读写能力~ 几种常见的DD命令,先看一下区别~ dd bs=6 ...