MySQL如何备份与还原

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL如何备份与还原相关的知识,希望对你有一定的参考价值。

参考技术A   使用mysql数据库的朋友,对MySQL进行备份和还原是比较重要的。重要的事简单做,今天介绍我们使用mysqldump和source命令来备份还原,分为Windows下和Linux下的MYSQL备份与还原操作。
  一、Win32系统下MySQL的备份还原方法
  备份:在“运行”中输入“cmd
”,利用“cd
/Program
Files/MySQL/MySQL
Server
5.0/bin”进入bin文件夹,输入“mysqldump
-u
用户名
-p
databasename
>exportfilename”导出数据库到文件,如mysqldump
-u
root
-p
voice>voice.sql,然后输入密码即可开始导出MYSQL数据,实现备份操作。
  还原:进入MySQL
Command
Line
Client,输入密码,进入到“mysql>”,输入命令"show
databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create
database
voice;",回车;切换到刚建立的数据库,输入"use
voice;",回车;导入数据,输入"source
voice.sql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。
  二、Linux下MySQL的备份与还原方法:
  备份:[root@localhost
~]#
cd
/var/lib/mysql
(进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
  [root@localhost
mysql]#
mysqldump
-u
root
-p
voice>voice.sql,输入密码即可。
  还原:有两种方法可选:
  第一种方法:[root@localhost
~]#
mysql
-u
root
-p
回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。
  第二种方法:
  [root@localhost
~]#
cd
/var/lib/mysql
(进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
  [root@localhost
mysql]#
mysql
-u
root
-p
voice

MySQL数据备份与还原

数据备份与还原:

  备份:将当前已有的数据或者记录保留

  还原:将已经保留的数据恢复到对应的表中

 

  为什么要做备份还原:

    1、防止数据丢失:被盗、误操作

    2、保护数据的记录

 

  数据备份还原的方式很多:数据表备份、单表数据备份、SQL备份、增量备份

  一、数据表备份:(不推荐使用)

    不需要通过SQL来备份,直接进入到数据库文件夹复制对应的表结构以及数据文件,以后还原的时候,直接将备份的内容放进去即可。(这种文件备份通常适用于myisam存储引擎:直接三个文件就可以了,innodb不行,识别不了。)

    有前提条件:根据不同的存储引擎有不同的区别;

    存储引擎:mysql进行数据的存储方式:主要有两种:innodb和myisam(因为这两种免费)

   

 对比myisam和innodb:数据存储方式

      innodb:只有表结构,数据全部存储到ibdata1文件中。

      myisam:表、数据和索引全部单独分开存储。(证明如下图)

 

  

  二、单表数据备份

    每次只能备份一张表,只能备份数据(表结构不可以备份)

    通常使用,将表中的数据进行导出文件。

    备份:

      从表中选出一部分数据保存到外部文件中。

      select */字段列表 into outfile 文件所在路径  from 数据源;  前提:外部文件不存在

 

     高级备份:自己自定字段和行的处理方式

    select */字段列表 into outfile 文件所在路径 fields 字段处理 lines 行处理  from 数据源;  前提:外部文件不存在

    fields:字段处理

      Enclosed by:字段使用什么内容包裹,默认是:空字符串

      Terminated by:字段以什么结束,默认是“\\t”,tab键

      escaped by:特殊符号用什么方式处理,默认是“\\\\”,使用反斜杠转义

    lines:行处理

      starting by:每行以什么开始,默认是空字符串;

      terminated by:每行以什么结束,默认是“\\r\\n”,换行符

 

三、数据的还原

  将一个在外部保存的数据重新恢复到表中(如果表结构不存在,那么就恢复不了了)

  load data infile 文件所在路径 into table 表名【(字段列表)】 fields 字段处理 lines 行处理    ——怎么备份,怎么还原。

 

四、SQL备份

  备份的SQL语句:系统会对表结构以及数据进行处理,变成对应的SQL语句,然后进行备份,还原的时候只要执行SQL指令即可(主要就是针对表结构)

 

  备份:mysql没有提供备份指令,但是可以利用mysql提供的软件:mysqldump.exe

  mysqldump.exe也是一种客户端,需要操作服务器,必须连接认证

  1、单表备份:

  mysqldump/mysqldump.exe-hPup 数据库名字 【数据表名字 1【数据表名字2……】】>外部文件目录(建议使用.sql)

  

  2、整库备份

  mysqldump/mysqldump.exe-hPup 数据库名字 >外部文件目录(建议使用.sql)

 

五、SQL还原数据

  优缺点:

    优点:可以备份结构

    缺点:会浪费空间,会额外的增加SQL指令。

 

  1、使用mysql.exe 客户端还原

    mysql.exe/mysql-hPup 数据库名字 < 备份文件目录

  2、使用SQL指令还原

    source 备份文件所在路径

 

六、增量备份(大的项目一般会用增量备份)

  不是针对数据或者SQL指令进行备份:是针对mysql服务器的日志进行备份

  增量备份:是指定时间段进行备份,备份数据不会重复,而且所有的操作都会备份。

 

以上是关于MySQL如何备份与还原的主要内容,如果未能解决你的问题,请参考以下文章

mysql备份与还原-mysqldump备份mysql与source还原

MySQL数据备份与还原

MySQL的备份与还原,非常规备份,全量备份,增量备份

MySQL备份与还原

MySql 数据备份与还原

mysql数据库-备份与还原-Percona XtraBackup 2.4备份工具使用