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. manifest.xml微擎系统模块的安装文件内容

    微擎在安装或卸载模块时会根据manifest.xml生成(或删除)数据库中相应记录,并执行manifest.xml里指定的脚本. manifest.xml文件内容详细介绍如下: manifest - ...

  2. Northcott Game HDU - 1730

    Tom和Jerry正在玩一种Northcott游戏,可是Tom老是输,因此他怀疑这个游戏是不是有某种必胜策略,郁闷的Tom现在向你求救了,你能帮帮他么? 游戏规则是这样的: 如图所示,游戏在一个n行m ...

  3. grep 和curl -d等命令 单引号里面既使用正则,又使用变量的方法

    a='{"type":"d_log", "log_format":"d_log", "exclude" ...

  4. 用vivado实现4比特加法器

    `timescale 1ns / 1ps module add_4_beha( a, b, cin, sum ); :] a; :] b; input cin; output sum; :]a; :] ...

  5. python 日期操作【转】

    SQLite中的时间日期函数这是我学习SQLite时做的笔记,参考并翻译了Chris Newman写的<SQLite>中的<Working with Dates and Times& ...

  6. sqlite3 新增数据

    cx = sqlite3.connect("c:/数据库名字")#打开数据库cu = cx.cursor()cu.execute("INSERT INTO [user] ...

  7. linux平台的oracle11201借用expdp定时备份数据库

    备份脚本如下: #!/bin/bashexport ORACLE_BASE=/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db ...

  8. 函数使用八:BP_EVENT_RAISE

    此函数是关联触发一个已经定义的事件,这个事件可以放到SM36里设置JOB,这样就做成了一个事件触发JOB的东西. Import EVENTID                    事件ID ,对应S ...

  9. Echarts 简单报表系列一:柱状图

    见代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  10. 码云插件Gitee:Couldn't get the list of Gitee repositories

    20:02 Couldn't get the list of Gitee repositories Can't get available repositories Not Found