一、导入导出

1.1、into outfile(只导出数据)

注意:mysql 5.7+版本,secure_file_priv 的值默认为NULL,即不允许导入或导出,需在 /etc/my.cnf 添加  secure_file_priv = '' 或者  secure_file_priv = '指定目录'  ,重启mysql

1.1.1 导出
select * from table_name into outfile 'file_path';

#指定分隔符
select * from table_name into outfile 'file_path' fields terminated by ',';

注意事项:

  • 导出的文件一定是不存在的
  • mysql用户对导出目录要有读写权限
  • 导出的文件默认以\t为字段分隔符 \n为行分隔符
1.1.2 导入
load data infile '文件路径' into table 表名;

#指定分隔符
oad data infile '文件路径' into table 表名 fields terminated by '分隔符';

注意事项:

  • 文件不要放在mysql读不到的地方(注意目录权限)
  • mysql用户对要导入的文件至少要有读的权限(文件权限)
  • 文件名用双引或单引号引起来

二、备份

2.1、mysqldump

2.1.1 简介

mysqldump 是 MySQL 自带的逻辑备份工具。

备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。

2.1.2 选项
选项 缩写 说明
登录选项:    
-host -h 数据库服务器ip地址
–port -P 服务器端口号
–user -u MySQL 用户名
–password -p MySQL 密码
备份选项:    
-–databases  or  -B   指定要备份的数据库,多个数据库空格隔开
-–all-databases  or  -A   备份所有数据库
–-all-tablespaces  or  -Y   备份所有表
–-add-drop-table   在每个CREATE TABLE语句前添加DROP TABLE语句,防止数据表重名
--no-data  or  -d   不备份数据
-–compact   压缩模式,产生更少的输出
-–comments   添加注释信息
--lock-tables   备份前,锁定数据库表
–-lock-all-tables  or  -x   备份前,锁定所有库表(全备时)
–-no-create-db/–no-create-info   禁止生成创建数据库语句
-–force   当出现错误时仍然继续备份操作
–-default-character-set   指定默认字符集
--flush-logs  or  -F   更新二进制日志文件
-master-data=2   1:每备份一个库就生成一个新的二进制文件(默认);2:生成一个新的二进制文件
--single-transaction   对事务引擎执行热备,获取一致性备份,仅对innodb存储引擎有效
     
-w   相当于-where
2.1.3 导出

导出所有库,表(包含表结构与表数据)

#all.sql默认保存在bin下
库:
mysqldump -u -p --all-databases > all.sql 表:
mysqldump -u -p --databases db1 –-all-tablespaces > all.sql

导出多个库,表

库:
mysqldump -u -p --databases db1 db2 > all.sql 表:
mysqldump -u -p --databases db1 --tables t1 t2 > all.sql

导出单库,表

库:
mysqldump -u -p --databases db1 > all.sql 表:
mysqldump -u -p db1 t1 > all.sql

只导出表结构

mysqldump -u -p -d db1 t1 > all.sql

只导出表数据

mysqldump -u -p -t db1 t1 > all.sql

使用-w指定时间段导出

mysqldump -uroot -pyy123456 -t -w "notify_time > unix_timestamp('2022-04-20') and notify_time < unix_timestamp('2022-05-06')" sre alarm_lists > test2.sql
2.1.4 恢复
库:
mysql -u -p < all.sql 表:
mysql -u -p db1 < all.sql
2.1.5 source(导入大的sql文件)
mysql -u -p -e 'use db1;source all.sql;'
2.1.6 LOCK TABLES

导表的时候可能会报错:mysqldump: Got error: 1044: "Access denied for user 'sre'@'10.84.xxx.226' to database 'db1'" when doing LOCK TABLES

这是因为没有lock table的权限,在命令行加上 --single-transaction 解决

mysqldump --single-transaction -u sre -p -P 33066 -h 10.79.5.xxx db1 alarm_lists > alarm_lists.sql

Mysql--数据的导入导出以及备份的更多相关文章

  1. mysql 数据到 导入导出 总结

    数据库数据的导入和导出受secure_file_priv配置项影响#限制导入导出,null时无法进行数据的导入导出,空时不限制,设置了目录则只能对该目录下的文件进行导入导出show variables ...

  2. 完美转换MySQL的字符集 Mysql 数据的导入导出,Mysql 4.1导入到4.0

    MySQL从4.1版本开始才提出字符集的概念,所以对于MySQL4.0及其以下的版本,他们的字符集都是Latin1的,所以有时候需要对mysql的字符集进行一下转换,MySQL版本的升级.降级,特别是 ...

  3. mysql数据的导入导出

    2017-12-15       一. mysqldump工具基本用法,不适用于大数据备份   1. 备份所有数据库: mysqldump -u root -p --all-databases > ...

  4. Linux下MySql数据的导入导出

    1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: mysqldump -u用戶名 -p密 ...

  5. MySQL数据表格导入导出

    一 初始数据(共6条记录) username userpwd age admin admin 18 root root 18 cat cat 17 dog dog 15 dog1 dog1 15 zh ...

  6. Docker 中 MySQL 数据的导入导出

    Creating database dumps Most of the normal tools will work, although their usage might be a little c ...

  7. MongoDB学习(三)数据导入导出及备份恢复

    这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下 ...

  8. Mysql --学习:大量数据快速导入导出

    声明:此文供学习使用,原文:https://blog.csdn.net/xiaobaismiley/article/details/41015783 [实验背景] 项目中需要对数据库中一张表进行重新设 ...

  9. linux mysql 数据库操作导入导出 数据表导出导入

    linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...

  10. SQL Server中bcp命令的用法以及数据批量导入导出

    原文:SQL Server中bcp命令的用法以及数据批量导入导出 1.bcp命令参数解析 bcp命令有许多参数,下面给出bcp命令参数的简要解析 用法: bcp {dbtable | query} { ...

随机推荐

  1. Linux TTY/PTS

    转载:https://segmentfault.com/a/1190000009082089 当我们在键盘上敲下一个字母的时候,到底是怎么发送到相应的进程的呢?我们通过ps.who等命令看到的类似tt ...

  2. 功能不够,SQL来凑,修改数据库的正确姿势?

    修改数据库是一项关键任务,需要小心谨慎地执行,以确保数据的完整性和准确性.下面是一个详细的步骤指南,介绍了正确修改数据库的姿势. 第一步:备份数据库 在进行任何数据库修改之前,务必备份数据库.这样,如 ...

  3. BI软件是什么?应用BI工具能给企业带来什么

    BI软件是指利用数据挖掘.分析和可视化等技术,将企业内部和外部数据转化为有价值的信息和洞察,以帮助企业支持业务决策和优化业务流程的工具和应用程序.常见的BI软件包括Datainside.QlikVie ...

  4. 最好用的oa办公系统?

    OA办公系统是一种集成办公自动化.协同办公.信息管理等功能于一体的软件系统,旨在提高办公效率,优化流程管理,提供更好的团队协作和信息共享.下面将详细介绍几个目前市场上认为较为优秀的OA办公系统. 一. ...

  5. [CF1830F] The Third Grace

    题目描述 You are given $ n $ intervals and $ m $ points on the number line. The $ i $ -th intervals cove ...

  6. [GDOIpj222A] 点指兵兵

    第一题 点指兵兵 提交文件: bing.cpp 输入文件: bing.in 输出文件: bing.out 时间空间限制: 1 秒, 256 MB 你一定有过在两个物品之间犹豫不决的时候,想要借助一些方 ...

  7. 【matlab混沌理论】1.1.混沌理论简介

    混沌理论 1.简介          混沌理论是一个跨学科的科学研究领域和数学分支,专注于对初始条件高度敏感的动力系统的基本模式和确定性定律,曾被认为具有完全随机的无序和不规则状态.混沌理论指出,在混 ...

  8. 初始OpenGL

    OpenGL到底是什么? 一般它被认为是一个API,包含一系列操作图形,图像的函数.然而,它并不是一个API,而是Khronos组织制定并维护的规范. OpenGL规定了每个函数如何执行,以及它们的输 ...

  9. Socket.D 基于消息的响应式应用层网络协议

    首先根据 Socket.D 官网的副标题,Socket.D 的自我定义是: 基于事件和语义消息流的网络应用协议. 官网定义的特点是: 基于事件,每个消息都可事件路由 所谓语义,通过元信息进行语义描述 ...

  10. 【UniApp】-uni-app-处理项目输入数据(苹果计算器)

    前言 上一篇文章完成了项目的基本布局,这一篇文章我们来处理一下项目的输入数据 项目的输入数据主要是通过按键来输入的,所以我们需要对按键进行处理 那么我们就来看一下 uni-app-处理项目输入数据 步 ...