MySQL数据备份、还原与迁移

一、数据备份------mysqldump

1、语法:

mysqldump -u user(用户名)-h host(登录用户的主机名称)-p password(登录密码)
dbname(需要备份的数据库名称)[tbname,tbname1(数据库中需要备份的数据表] >存储路径

2、数据库备份

①单个数据库备份
语法:C:\WINDOWS\system32>mysqldump -u root -p 库名>存储路径
【例】C:\WINDOWS\system32>mysqldump -u root -p webshop>G:\a\webshop.bak
②多个数据库备份
语法:C:\WINDOWS\system32>mysqldump -u root -p --databases 库名 库名1>存储路径
【例】C:\WINDOWS\system32>mysqldump -u root -p --databases webshop zixi>G:\a\w5.bak
注:多个数据库备份的关键字是“--databases”,并且数据库之间分隔用空格;
③全部数据库备份
语法:C:\WINDOWS\system32>mysqldump -u root -p --all-databases>存储路径
【例】C:\WINDOWS\system32>mysqldump -u root -p --all-databases>G:\a\webshop1.bak

3、数据表备份

①单个数据表备份
语法:C:\WINDOWS\system32>mysqldump -u root -p 库名 表名>存储路径
【例】C:\WINDOWS\system32>mysqldump -u root -p webshop guke>G:\a\webshop1.bak
②多个数据表备份
语法:C:\WINDOWS\system32>mysqldump -u root -p 库名 表名 表名1>存储路径
【例】
C:\WINDOWS\system32>mysqldump -u root -p webshop guke shangpin>G:\a\webshop1.bak
注:
MySQL中如果直接复制数据库文件目录备份的方法,只适用于MyISAM引擎的表,并且这种方法 还容易造成数据库的崩溃。

二、数据还原

1、未登录在服务器里面

语法:C:\WINDOWS\system32>mysql -u root -p 存放数据的资料的数据库<导入的数据的路径
【例】:C:\WINDOWS\system32>mysql -u root -p text<G:\a\zixi.bak

2、登录在服务器里面

语法:mysql> source 导入的数据的路径
【例】mysql> source G:\a\webshop.bak

三、数据库迁移

1、迁移数据库的原因:

  • 需要安装新的数据库服务器
  • MySQL的版本更新
  • 数据库管理系统的变更

2、相同版本的MySQL数据库之间的迁移

mysqldump -h 原主机名 -u root -p password 数据库名 |
mySQL -h 新主机名 -u root -p passward

3、不同版本的MySQL数据库之间的迁移
  数据库备份,然后在导入数据库中

四、表的导入和导出(一次只能一张表)

1、导出

(1)mysqldump语句导出文本文件

语法:
mysql -u 用户名 -p --execute="查询语句" 数据库名>数据文件路径及文件名 [--default-character-set=字符集]
【附】
如果数据文件中的数据有中文,则需要通过--default-character-set参数设置中文字符集来保存数据文件
【例】
C:\WINDOWS\system32>mysql -u root -p --execute="select * from writers" zixi
>G:\\知识点\\exercise\\writers.txt --default-character-set=utf8

注意:

  • 必须不在MySQL里面
  • 使用双引号
  • 等号后面不能有空格
  • 结尾没有分号

【效果】
w_id w_name w_address w_age w_note
1     海明威      NULL 67     NULL
2     罗贯中       NULL 34 NULL
3     曹雪芹       NULL 43 NULL

(2)select……into outfile语句导出文本文件

语法:
查询语句 into outfile '数据文件路径及文件名' [fields terminated by '分隔符']
[lines terminated by '换行符']
fields terminated by每条记录数据之间的分隔符 
lines terminated by记录之间是怎么分隔的
【例】
)mysql> select * from books into outfile 'G:\\知识点\\exercise\\books.txt' fields terminated by ',' lines terminated by '\r\n';
)mysql> select * from books into outfile 'G:\\知识点\\books.txt';

注意:

  • 指定路径时,需要使用“\\”,而不是“\”;
  • 注意在文件路径和文件名中也要加“\\”;

【效果】
1)
1,老人与海,海明威,1
2,三国演义,罗贯中,2
3,红楼梦,曹雪芹,3
4,祥林嫂,鲁迅,4
2)
1 老人与海 海明威 12 三国演义 罗贯中 23 红楼梦 曹雪芹 3

2、导出

【附】清空表数据---语句:delete from 表名;

(1)mysqlimport 语句

语法:
mysqlimport [-h 服务器地址] -u 用户名 -p 数据库名
数据文件路径及文件名
[--fields-terminated-by=分隔符]
[--lines-terminated-by=换行方式]
[--ignore-lines= 忽略行数]
【附】
)文件名必须以表名命名
)等号后面不能有空格
)最后不能有冒号
【例】
C:\WINDOWS\system32>mysqlimport -u root -p zixi G:\\知识点\\books.txt

(2)load data infile ……into table语句导入数据

语法:
load data infile '数据文件路径及文件名.扩展名' into table 表名
[fields terminated by '分隔符' lines terminated by '换行符' ignore 行数 lines];
【例】
mysql> load data infile 'G:\\知识点\\books.txt'into table books;

附:
1、表的备份与表的导入的区别
数据备份与还原只能是相同的数据库,数据的迁移(导入和导出)可以是不用相同的数据库
导出数据库:到导出数据库中某个表或者多个表。
备份数据库:是备份数库中的所有数据包括表、视图、存储过程、函数等等
2、直接复制到数据库目录
如果数据库通过复制数据库文件备份,可以直接复制备份的文件到到MySQL数据目录下实现还原。通过这种方式还原时,必须保存备份数据的数据库和待还原的数据库服务器的主版本号相同。而且这种方式只对 MyISAM引擎的表有效。对于InnoDB引擎 的表不可用。

MySql笔记之数据备份与还原的更多相关文章

  1. MYSQL数据备份与还原学习笔记

    数据备份与还原   1.mysqldump 1.1 文件地址: E:\xampp\mysql\bin 文件名:mysqldump.exe CMD下进入mysqldump.exe cd E:\xampp ...

  2. 转 MySQL 数据备份与还原

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

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

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

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

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

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

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

  6. MySQL(四)数据备份与还原

    数据备份与还原: 备份:将当前已有的数据或者记录保留 还原:将已经保留的数据恢复到对应的表中 为什么要做备份还原: 1.防止数据丢失:被盗.误操作 2.保护数据的记录 数据备份还原的方式很多:数据表备 ...

  7. mysql 利用binlog增量备份,还原实例

    mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量 ...

  8. rabbitmq数据备份与还原

    一.场景 现在有服务器A和服务器B ,由于业务需要,要求把服务器A上mq的数据迁移到服务器B上,rabbitmq的数据包括元数据(RabbitMQ用户.vhost.队列.交换和绑定)和消息数据,而消息 ...

  9. Redis 通过 RDB 方式进行数据备份与还原

    Redis 通过 RDB 方式进行数据备份与还原 Intro 有的时候我们需要对 Redis 的数据进行迁移,今天介绍一下通过 RDB(快照)文件进行 Redis 数据的备份和还原 Redis 持久化 ...

随机推荐

  1. vue.js中 v-show在刷新页面时,会闪一下,如何解决?

    因为浏览器是html从上到下执行,先执行Dom元素,然后执行javaScript元素,v-show实在javaScript中控制,当走到javaScript时,Dom元素已经开始走动,所以如果网慢的话 ...

  2. PHP用PDO

    $pdo = new PDO('mysql:host=localhost;dbname=jmyp','root','root'); $pdo->exec('set names utf8'); $ ...

  3. python2.7 目录下没有scripts

    1.python2.7 配置环境完成或,python目录下没有scripts目录,先下载setuptools,cmd下载该目录下,输入python setup.py install 2.完成后,pyt ...

  4. First Bad Version leetcode java

    问题描述: You are a product manager and currently leading a team to develop a new product. Unfortunately ...

  5. shiro中记住我功能

    Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下: 1.首先在登录页面选中Reme ...

  6. 把url链接转换成二维码的工具类

    import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io ...

  7. 解决spring-boot启动异常Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean

    第一种: 需要在主类头加上  @EnableAutoConfiguration 第二种: pom文件是否加了 <dependency> <groupId>org.mybatis ...

  8. vue路由守卫应用,监听是否登录

    路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards). 导航守卫 ...

  9. ConcurrentHashMap1.8源码解析

    深入并发包 ConcurrentHashMap 概述 JDK1.8的实现已经摒弃了Segment的概念,而是直接用Node数组+链表+红黑树的数据结构来实现,并发控制使用Synchronized和CA ...

  10. WordDenified.exportedUI

    <mso:cmd app="Word" dt="1" /><mso:customUI xmlns:x1="xuzaAzWord&qu ...