MYSQL数据备份与还原学习笔记
数据备份与还原
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’ 以什么作为该行的结尾
例1:SELECT * 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数据备份与还原学习笔记的更多相关文章
- 转 MySQL 数据备份与还原
MySQL 数据备份与还原 原贴:http://www.cnblogs.com/kissdodog/p/4174421.html 一.数据备份 1.使用mysqldump命令备份 mysqldum ...
- day 50 MySQL数据备份与还原(mysqldump)
MySQL数据备份与还原(mysqldump) 一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Databas ...
- MySQL 数据备份与还原的示例代码
MySQL 数据备份与还原的示例代码 这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 一.数据备份 1.使用 ...
- MySQL 数据备份与还原 转载
MySQL 数据备份与还原 一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldum ...
- MySQL数据备份与还原(mysqldump)
一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Database Administrator,简称DBA),是从事管理 ...
- mysql数据备份和还原命令
mysql数据库备份和还原 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfil ...
- MySQL 数据备份与还原
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- Mysql数据备份与还原
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- MySQL数据备份及还原(一)
关于删库跑路的事故现在已经屡见不鲜了,数据备份的必要性是企业数据管理极其重要的一项工作.关于数据备份.恢复也有很多场景及方法,本系列也会将主要的几种工具通过案例进行演示. 本系列将从逻辑备份及恢复开始 ...
随机推荐
- 扩展欧几里德 POJ 1061
欧几里德的是来求最大公约数的,扩展欧几里德,基于欧几里德实现了一种扩展,是用来在已知a, b求解一组x,y使得ax+by = Gcd(a, b) =d(解一定存在,根据数论中的相关定理,证明是用裴蜀定 ...
- python基础-软件目录开发规范
为什么要设计好目录结构? "设计项目目录结构",就和"代码编码风格"一样,属于个人风格问题.对于这种风格上的规范,一直都存在两种态度: 一类同学认为,这种个人风 ...
- 【Asp.Net】后台生成控件并绑定事件
在Asp.Net的Web页面处理流程中,有时候我们会碰到需要动态生成的控件,并为之绑定相应的事件. 接下来我们来动态的生成一个控件 //在用户代码初始化阶段添加控件 protected void Pa ...
- javascript实现silverlight pivotViewer控件
一时无事,就用js实现了一个silverlight pivotViewer控件来练手. 实现效果: silverlight PivotViewer说明地址:https://msdn.microsoft ...
- SQL从入门到基础 - 04 SQLServer基础2(数据删除、数据检索、数据汇总、数据排序、通配符过滤、空值处理、多值匹配)
一.数据删除 1. 删除表中全部数据:Delete from T_Person. 2. Delete 只是删除数据,表还在,和Drop Table(数据和表全部删除)不同. 3. Delete 也可以 ...
- 使用ShareSDK完成Facebook第三方登录和Facebook分享时没办法跳转到Facebook应用
楼主是通过cocoapod接入ShareSDK, 后来发现无论是使用fb分享还是登录, 都是跳出了网页认证(即使我的手机有安装了fb) 后来mob的技术客服小哥告诉我在构造分享参数的时候, 执行参数字 ...
- 在android中如何查看sqlite数据表结构,以及data文件打不开问题
1.root你的手机 2.cmd进入DOS界面,并且cd 转换目录到AndroidSDK\platform-tools中 3.输入adb shell 4.输入su,进入root权限,此时$变为#,输入 ...
- 你好,C++(28)用空间换时间 5.2 内联函数 5.3 重载函数
5.2 内联函数 通过5.1节的学习我们知道,系统为了实现函数调用会做很多额外的幕后工作:保存现场.对参数进行赋值.恢复现场等等.如果函数在程序内被多次调用,且其本身比较短小,可以很快执行完毕,那么 ...
- pragram once
#pragma once [1]#pragma once这个宏有什么作用? 为了避免同一个文件被include多次,C/C++中有两种宏实现方式:一种是#ifndef方式,一种是#pragma o ...
- cmd命名设置成全局
如在jsdoc里.想要把jsdoc命名设置成全局.只要把环境变量里面的用户变量里面的path变量值增加 C:\Program Files\nodejs;E:\Program Files (x86)\j ...