MySql笔记之数据备份与还原
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笔记之数据备份与还原的更多相关文章
- MYSQL数据备份与还原学习笔记
数据备份与还原 1.mysqldump 1.1 文件地址: E:\xampp\mysql\bin 文件名:mysqldump.exe CMD下进入mysqldump.exe cd E:\xampp ...
- 转 MySQL 数据备份与还原
MySQL 数据备份与还原 原贴:http://www.cnblogs.com/kissdodog/p/4174421.html 一.数据备份 1.使用mysqldump命令备份 mysqldum ...
- MySQL 数据备份与还原的示例代码
MySQL 数据备份与还原的示例代码 这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 一.数据备份 1.使用 ...
- MySQL 数据备份与还原 转载
MySQL 数据备份与还原 一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldum ...
- day 50 MySQL数据备份与还原(mysqldump)
MySQL数据备份与还原(mysqldump) 一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Databas ...
- MySQL(四)数据备份与还原
数据备份与还原: 备份:将当前已有的数据或者记录保留 还原:将已经保留的数据恢复到对应的表中 为什么要做备份还原: 1.防止数据丢失:被盗.误操作 2.保护数据的记录 数据备份还原的方式很多:数据表备 ...
- mysql 利用binlog增量备份,还原实例
mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量 ...
- rabbitmq数据备份与还原
一.场景 现在有服务器A和服务器B ,由于业务需要,要求把服务器A上mq的数据迁移到服务器B上,rabbitmq的数据包括元数据(RabbitMQ用户.vhost.队列.交换和绑定)和消息数据,而消息 ...
- Redis 通过 RDB 方式进行数据备份与还原
Redis 通过 RDB 方式进行数据备份与还原 Intro 有的时候我们需要对 Redis 的数据进行迁移,今天介绍一下通过 RDB(快照)文件进行 Redis 数据的备份和还原 Redis 持久化 ...
随机推荐
- pytorch backward问题
pytorch中关于backward的很有意思的一个问题 <https://blog.csdn.net/shiheyingzhe/article/details/83054238> 但是我 ...
- 关于AndroidStudio混淆配置,简单的整理(转)
1.首先需要在app下的build.gradle下配置,true表示编译时会混淆代码<span style="font-size:18px;">buildTypes { ...
- 统计数组中各个元素出现的次数,元素取值范围为:1到N
问题描述: * 给定一个整数数组a,长度为N,元素取值范围为[1,N]. * 统计各个元素出现的次数,要求时间复杂度为O(N),空间复杂度为O(1). * 可以改变原来数组结构. 思路: * 从第 ...
- python记录_day13 内置函数
详细链接:https://www.processon.com/mindmap/5bdbc4bee4b0878bf42089fb
- React文档(五)组件和props
组件可以让你将UI分割成独立的,可复用的模块,然后考虑将每个模块彼此隔离.从概念上理解,组件就像js中的函数.他们接受随意的输入(被称为props)然后返回React元素来描述屏幕上应该出现什么. 函 ...
- git merge和git rebase的区别
git merge是用来合并两个分支的.# 将b分支合并到当前分支git merge b git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作.例如,假设我 们有 ...
- csu oj 1343 Long Long
Description 现在有两个单调递增序列,第一个序列有N个整数,第二个序列有M个整数,现在你可以从第一个序列中选一个数x,然后从第二个序列中选一个数y,那么有多少种情况满足x+y<=K呢? ...
- docker实战系列之docker 端口映射错误解决方法
错误: Error response from daemon: Cannot start container web: iptables failed: iptables -t nat -A DOCK ...
- C++ string::size_type
从逻辑上讲,size()成员函数应该似乎返回整型数值,但事实上,size操作返回是string::size_type类型的值.string类类型和其他许多库类型都定义了一些配套类型(companion ...
- 解决VS Code保存时候自动格式化
VS code 保存会自动格式化.以前都是alt+shift+F格式化的,现在一保存就格式化 解决方式:找到你的VScode扩展,把JS-CS-HTML Formatter这个插件禁用就可以解决