数据备份与还原

 

1.mysqldump

1.1 文件地址

E:\xampp\mysql\bin

文件名:mysqldump.exe

CMD下进入mysqldump.exe

cd E:\xampp_new\mysql\bin

1.2 调用mysqldump的参数

Mysqldump –u 用户名 [-h 主机] [-p 密码] 数据库名  [表名称 表名称] > 备份到的路径及文件名

备份多个数据库的全部表:

Mysqldump –u 用户名 [-h 主机] [-p 密码] –databases 数据库1名称 数据库2名称> 备份到的路径及文件名

备份MYSQL的全部数据库:

Mysqldump –u 用户名 [-h 主机] [-p 密码] –all-databases > 备份到的路径及文件名

说明:

如果加表名称,就备份指定的表,如果不加表名称,则表示备份数据库的全部表。

1.3备份操作:

备份数指定的据库:

mysqldump -uroot -hlocalhost -p123 homework>G:/homeworks20141124.sql

备份指定数据库的指定数据表:

mysqldump -uroot -hlocalhost -p123 homework province>G:/homeworks20141124.sql

备份指定数据库的指定的多个数据表:

mysqldump -uroot -hlocalhost -p123 homework province users2>G:\学习\Mysql\日志\1.sql

备份多个数据库的所有表:

mysqldump -uroot -hlocalhost -p123 --databases homework mysqlpart2>G:\学习\Mysql\日志\2.sql

备份MYSQL下的全部数据库:

mysqldump -uroot -hlocalhost -p123 --all-databases>G:\学习\Mysql\日志\3.sql

说明:mysqladmin密码在:E:\xampp\phpMyAdmin\ config.inc.php 文件中

1.4 mysqldump其它常用参数:

add-drop-database 如果备份的时候,加上该参数,就会生成生成DROP DATABASE

add-drop-tables    如果备份的时候,加上该参数,就会生成 DROP TABLES语句

comment=[0|1] 在生成备份文件的时候,会加上系统的注释

complete-insert 如果加上该参数,那么在生成备份文件的时候,就会生成表名所拥有的所有列名的INSERT语句

2. sql 文件的内容:

(1)MYSQLdump工具的版本号:

-- MySQL dump 10.13  Distrib 5.6.16, for Win32 (x86)

-- Host: localhost    Database: homework

-- ------------------------------------------------------

-- Server version       5.6.16  (mysql的版本号)

(2)变量赋值及注释内容:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

说明:

①/*!  注释内容*/; 是MYSQL可执行注释,MYSQL会执行注释内容,其它数据库不会执行这些注释内容。

②40101是支持可执行语句的MYSQL的最低版本

③用SET定义一个用户级的变量,由系统级的变量为其赋值,数据库的系统参数以变量的形式保存下来。

(3)数据库的表备份

--

-- Table structure for table `province`

--

DROP TABLE IF EXISTS `province`;

(4)以INSERT语句来保存数据,用于恢复数据库时的数据还原

--

-- Dumping data for table `province`

--

LOCK TABLES `province` WRITE;

/*!40000 ALTER TABLE `province` DISABLE KEYS */;

INSERT INTO `province` VALUES (1,'北京'),(2,'上海'),(3,'辽宁'),(4,'天津'),(5,'广东'),(6,'福建'),(100,'吉林');

/*!40000 ALTER TABLE `province` ENABLE KEYS */;

UNLOCK TABLES;

3. 备份数据文件的方法

备份数据文件夹里的全部文件:

E:\xampp\mysql\data\

4. 客户端工具备份方法:

可以通过sql文件恢复数据库

CREATE TABLE 保存表的结构

INSERT INTO  保存了数据

5. 数据库还原技术

5.1 mysql命令还原数据库

mysql -u 用户名 -p 密码 要还原的数据库 <备份文件路径和文件名

mysql -u root -p 123 homework <G:学习\Mysql\日志\hw1.sql

5.2 使用粘贴数据库文件的方式进行还原(禁止使用该方法)

通过操作发现,使用直接复制、粘贴数据库文件的方法,对数据库进行恢复,是不可行的,会造成数据库无法启动,就算后面删除日志文件,数据库可以启动了,也是无法浏览数据库内的表文件的。

5.3 使用客户端工具进行还原

6. 表的导入和导出

6.1 SELECT INTO OUTFILE 导出数据表

导出数据表只是导出数据表的内容,并无SQL语句:

SELECT语句 INTO OUTFILE ‘导出路径及文件名’

[LINES TERMINATED BY ‘每一行的结尾字符’]

;

参数介绍:

FIELDS TERMINATED BY ‘,’   列的结尾符

FIELDS ENCLOSED BY ‘\”’    列的数据是用什么扩起来(引起来)

FIELDS ESCAOED BY ‘\’      定义一个新的转义字符的符号

LINES STARTING BY ‘>’       以什么作为该行的开头

LINES TERMINATED BY ‘\r\n’  以什么作为该行的结尾

例1SELECT * FROM users2 INTO OUTFILE 'G:\users2.txt';

说明:

路径中不能包含中文

例2以转义字符换行导出:

SELECT * FROM province INTO OUTFILE 'G:\1.txt' LINES TERMINATED BY '\r\n';

显示:

1       北京

2       上海

3       辽宁

4       天津

5       广东

6       福建

100  吉林

6.2使用MYSQLDUMP工具导出表数据:

MYSQLDUMP工具会导出数据表的数据和数据表的SQL表结构语句(不包含INSERT语句,即不包含数据表的数据内容)

语法:

mysqldump -T 文件要保存的路径 数据库名称 数据表名称 -u 用户名 –p 密码

[--lines-terminated-by=换行符]

说明:

-T 表示要输出

参数介绍:

--fields-terminated-by=,   每列的结尾

--fields-optionally-enclosed-by=\”  每列以什么进行引用

--fields-escaped-by=?  定义转义字符

--lines-terminated-by=\r\n  每一行以什么结尾

例1:

mysqldump -T G:/ homework province -u root -p

例2,格式化换行输出表数据:

mysqldump -T G:/ homework province -u root -p --lines-terminated-by=\r\n

6.3 使用mysq导出表数据:

在系统环境下(非mysql环境内):

mysql -u root -p --execute="SELECT语句" 数据库名称 >输出文件的路径及文件名

例:

mysql -u root -p --execute="select * from province" homework >G:/p.txt

显示:

id      pro_name

1       北京

2       上海

3       辽宁

4       天津

5       广东

6       福建

100  吉林

6.4 通过LOAD DATA方式将数据导入数据表中

LOAD DATA INFILE '输入文件的路径及文件名' INTO TABLE 要导入表的表名称;

LOAD DATA INFILE 'G:/p.txt' INTO TABLE province;

LOAD DATA INFILE 'G:/p.txt' INTO TABLE province CHARACTER SET utf8 ;

注意:

(1)       导入txt之前,应当删除字段的表头,否则表头内容也会被当做字段的值导入字段中。

(2)       导入txt之前,应当将txt另存为utf-8格式,否则中文无法导入。

(3)       导入txt之前,一定要将utf-8的文档去BOM头化,否则因为有前导字符串,会导入错误。

6.5通过mysqlimport工具方式将数据导入数据表中

该命令需要使用系统的命令窗口进行输入:

mysqlimport -u 用户名 -p 数据库名称 导入表的路径及文件名

 

mysqlimport -u root -p homework G:/province.txt

  

说明:

(1)       如果没有指定表的名称,那么系统会根据txt的文件名来导入相应的表内,所以txt的文件名要与数据表的名称一致。

(2)       导入操作的参数的名称和值,要与导出操作的参数名称和值一致,这样才能成功导入数据。

MYSQL数据备份与还原学习笔记的更多相关文章

  1. 转 MySQL 数据备份与还原

    MySQL 数据备份与还原 原贴:http://www.cnblogs.com/kissdodog/p/4174421.html   一.数据备份 1.使用mysqldump命令备份 mysqldum ...

  2. day 50 MySQL数据备份与还原(mysqldump)

      MySQL数据备份与还原(mysqldump)   一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Databas ...

  3. MySQL 数据备份与还原的示例代码

    MySQL 数据备份与还原的示例代码 这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 一.数据备份 1.使用 ...

  4. MySQL 数据备份与还原 转载

    MySQL 数据备份与还原 一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldum ...

  5. MySQL数据备份与还原(mysqldump)

    一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Database Administrator,简称DBA),是从事管理 ...

  6. mysql数据备份和还原命令

    mysql数据库备份和还原   备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfil ...

  7. MySQL 数据备份与还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  8. Mysql数据备份与还原

    一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...

  9. MySQL数据备份及还原(一)

    关于删库跑路的事故现在已经屡见不鲜了,数据备份的必要性是企业数据管理极其重要的一项工作.关于数据备份.恢复也有很多场景及方法,本系列也会将主要的几种工具通过案例进行演示. 本系列将从逻辑备份及恢复开始 ...

随机推荐

  1. POJ 3865 - Database 字符串hash

    [题意] 给一个字符串组成的矩阵,规模为n*m(n<=10000,m<=10),如果某两列中存在两行完全相同,则输出NO和两行行号和两列列号,否则输出YES [题解] 因为m很小,所以对每 ...

  2. 读取文件内容返回List<String>类型

    文件内容格式: string1 string2 String 3 …… 很简单,两句话 String content = new String(Files.readAllBytes(Paths.get ...

  3. linux中内核的一个不错的参数somaxconn

    导读:在linux中,/proc/sys/net/core/somaxconn这个参数,linux中内核的一个不错的参数somaxconn 看下其解析: 对于一个TCP连接,Server与Client ...

  4. Wcf+EF框架搭建实例

    一.最近在使用Wcf创建数据服务,但是在和EF框架搭建数据访问时遇到了许多问题 下面是目前整理的基本框架代码,经供参考使用,源代码地址:http://git.oschina.net/tiama3798 ...

  5. (转)__dopostback的用法 .

          在.NET中,所有的服务器控件提交到服务器的时候,都会调用__doPostBack这个函数,所以灵活运用这个函数对于我们的帮助还是很大的. 比如,在我们写程序的时候经常会需要动态的生成一些 ...

  6. TextView过长显示省略号, TextView文字中间加横线

    1.TextView显示的内容过长时自动显示省略号:  省略号的位置:android:ellipsize="end"   省略号在结尾android:ellipsize=" ...

  7. css文件和js文件后面带一个问号

    经常看一些网站页面源代码中的css文件和js文件后面带一个问号,后面跟着一连串数字或字符,这是干什么用的? 这个方法我也用过,而且很好用?,它的作用有两个:1.作为版本号,让自己方便记忆.查找:2.作 ...

  8. gis基本概念之"投影变换"-浅谈

    目录 1,概述 2,常用的投影方法有 正解变换 反解变换 数值变换 3,定义投影 4,投影变换 1,栅格(投影变换) 2,要素(投影变换) 注意 1,概述 因为GIS描述的是位于地球表面的信息,所以根 ...

  9. ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地

    SQL> alter database open; *第 1 行出现错误:ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地ORA-00312: 联机日志 1 线程 1 ...

  10. JAVA-6-简单的模拟ATM使用

    public static void main(String[] args) { in = new Scanner(System.in); int count = 1; int pwd = 11111 ...