导出mysql数据库数据
1.phpmyadmin导出
SELECT `a`.`order_sn`,`a`.`member_id`,`c`.`job_number`,`a`.`shouhuo_name`,`a`.`shouhuo_moblie`,`a`.`shouhuo_tel` FROM ( SELECT * FROM `newerp_jifen_order` WHERE `shouhuo_time` > 0 AND `fahuo_time` > 0 AND `business_id` = 27 AND `add_time` > 1537804800 AND `shipping_status` = 3 ) AS `a`
LEFT JOIN ( SELECT * FROM `newerp_jifen_order_log` WHERE `content` = '客户确认收货' GROUP BY `order_id` ) `b` ON ( `a`.`order_id` = `b`.`order_id` )
JOIN `newerp_member` AS `c` ON (`a`.`member_id` = `c`.`id`) WHERE `b`.`order_id` IS NULL
以上只是一个示例,发现在phpmyadmin里面不能导出SQL (insert)

原因:原来在phpmyadmin里面只能导出类似单表的SQL(insert)的文件。
解决方案:在查询外面套用一个统一临时查询 SELECT
SELECT `t`.* FROM ( SELECT `a`.`order_sn`,`a`.`member_id`,`c`.`job_number`,`a`.`shouhuo_name`,`a`.`shouhuo_moblie`,`a`.`shouhuo_tel` FROM ( SELECT * FROM `newerp_jifen_order` WHERE `shouhuo_time` > 0 AND `fahuo_time` > 0 AND `business_id` = 27 AND `add_time` > 1537804800 AND `shipping_status` = 3 ) AS `a`
LEFT JOIN ( SELECT * FROM `newerp_jifen_order_log` WHERE `content` = '客户确认收货' GROUP BY `order_id` ) `b` ON ( `a`.`order_id` = `b`.`order_id` )
JOIN `newerp_member` AS `c` ON (`a`.`member_id` = `c`.`id`) WHERE `b`.`order_id` IS NULL ) AS `t`
这样就可以导出:

导出之后,放入本地Navicat for MySQL工具中运行SQL,最终导出到Excel,最后发现Excel一些长的数字字符串会被转换为科学记数法,而且还是在后面补0,导致一些长数字字符串错误
解决方案:
SELECT CONCAT("'",`order_sn`) as `order_sn`,`member_id`,`job_number`,`shouhuo_name`,`shouhuo_moblie`,`shouhuo_tel` FROM `t`
2. 直接mysqldump
一.MYSQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->
PATH=“;path\mysql\bin;”其中path为MYSQL的安装路径。
二.简单的介绍一下命令行进入MYSQL的方法:
1.C:\>mysql -h hostname -u username -p .C:\>mysql -h localhost -u root-p
按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root。
进入命令行后可以直接操作MYSQL了。
2.简单介绍一下MYSQL命令:
mysql->CREATE DATABASE dbname;//创建数据库
mysql->CREATE TABLE tablename;//创建表
mysql->SHOW DATABASES;//显示数据库信息,有那些可用的数据库。
mysql->USE dbname;//选择数据库
mysql->SHOW TABLES;//显示表信息,有那些可用的表
mysql->DESCRIBE tablename;//显示创建的表的信息
三.从数据库导出数据库文件:
1.将数据库mydb导出到e:\mysql\mydb.sql文件中:
打开开始->运行->输入cmd 进入命令行模式
c:\>mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql
然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。
2.将数据库mydb中的mytable导出到e:\mysql\mytable.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb mytable>e:\mysql\mytable.sql
3.将数据库mydb的结构导出到e:\mysql\mydb_stru.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb --add-drop-table >e:\mysql\mydb_stru.sql
四.从外部文件导入数据到数据库中:
从e:\mysql\mydb2.sql中将文件中的SQL语句导入数据库中:
1.从命令行进入mysql,然后用命令CREATE DATABASE mydb2;创建数据库mydb2。
2.退出mysql 可以输入命令exit;或者quit;
3.在CMD中输入下列命令:
c:\>mysql -h localhost -u root -p mydb2 < e:\mysql\mydb2.sql
然后输入密码,就OK了。
3.根据查询结果导出数据库数据
引言
最近在修改线上数据的时候,需要现将修改的数据继续备份,但是线上客户的服务器是不能直接连接,而是通过了一台堡垒机,这就说我们不能通过可视化客户端直接连接mysql的,所以所有的操作都是需要通过sql语句的,下面看一下导出的sql:
mysql> select count(1) from table into outfile '/tmp/test.xls';
直接在我们查询的结果后面增加 into outfile '路径即可',但是在开始的时候我后面添加的路径不是 /tmp 而是/data 这样执行以后抛出下面的错误:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
这是因为mysql设置的权限,我们可以通过下面sql查看一下权限设置:
show variables like '%secure%';

导出的数据必须是这个值的指定路径才可以导出,默认有可能是NULL就代表禁止导出,所以需要设置一下;
我们需要在/etc/mysql/mysql.conf.d/mysqld.cnf 文件的末尾进行设置,在末尾添加一句secure_file_priv="/"即可将数据导出到任意目录;
secure_file_priv
1、限制mysqld 不允许导入 | 导出
secure_file_prive=null
2、限制mysqld 的导入 | 导出 只能发生在/tmp/目录下
secure_file_priv=/tmp/
3、不对mysqld 的导入 | 导出做限制
secure_file_priv
4、可以导出至任意目录
secure_file_priv="/"
这样设置以后我们就可以,实现我们一些自定义的的导出了!
导出mysql数据库数据的更多相关文章
- mysqldump导入导出mysql数据库
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- MySQL数据库数据存放位置修改
MySQL数据库数据存放位置修改 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方 ...
- 在Linux环境下,将Solr部署到tomcat7中,导入Mysql数据库数据, 定时更新索引
什么是solr solr是基于Lucene的全文搜索服务器,对Lucene进行了扩展优化. 准备工作 首先,去下载以下软件包: JDK8:jdk-8u60-linux-x64.tar.gz TOMCA ...
- NodeJs之EXCEL文件导入导出MongoDB数据库数据
NodeJs之EXCEL文件导入导出MongoDB数据库数据 一,介绍与需求 1.1,介绍 (1),node-xlsx : 基于Node.js解析excel文件数据及生成excel文件. (2),ex ...
- Ubuntu上更改MySQL数据库数据存储目录
之前写过一篇博客"MySQL更改数据库数据存储目录",当时的测试环境是RHEL和CentOS,谁想最近在Ubuntu下面更改MySQL数据库数据存储目录时遇到了之前未遇到的问题,之 ...
- mysql数据库数据(字段数过大)太多导入不了的解决方法
mysql数据库数据(字段数过大)太多导入不了的决方法: 1.打开navicat 工具 2.在数据库上右键,执行右键菜单命令“命令列界面” 3.在打开的窗口中,运行set global max_all ...
- 用mysql workbench导出mysql数据库关系图
用mysql workbench导出mysql数据库关系图 1. 打开mysql workbench,选择首页中间"Data Modeling"下方的第二栏"Create ...
- 两台Mysql数据库数据同步实现
两台Mysql数据库数据同步实现 做开发的时候要做Mysql的数据库同步,两台安装一样的系统,都是FreeBSD5.4,安装了Apache 2.0.55和PHP 4.4.0,Mysql的版本是4.1. ...
- mysql 数据库数据订正
mysql 数据库数据订正 http://blog.itpub.net/22664653/viewspace-717175/ 工作过程中时常遇到数据订正的需求,该操作本身不难.操作时要求能够保持回滚~ ...
随机推荐
- [Python] pip 简明指南
安装 1. 使用 apt 安装: $ sudo apt-get install python-pip 截止本文落笔,apt 安装 pip 版本为 1.0,但 pip 最新发行版本为 1.5.6 $ p ...
- JS document.execCommand实现复制功能(带你出坑)
最近项目中需要实现功能:点击button,复制input框的值: 我使用的是 document.execCommand('copy')的方法: 但是很郁闷的是,始终实现不了功能:代码如下 HTML代码 ...
- js for in 获得遍历数组索引和对象属性
for in 遍历对象属性 获取的是对象的属性名 var person ={ name:"admin", age:"21", address:"sha ...
- php: Cannot send session cache limiter
修改php.ini中的session.auto_start = 0 为 session.auto_start = 1 MAC 的php.ini 在 /private/etc/ 目录下修改的时候发现su ...
- CentOS7.5 Linux搭建全文检索--Solr7.4.0单机服务
一.Solr安装环境 1.官方参考文档 Solr教程参考指南:http://lucene.apache.org/solr/guide/7_4/solr-tutorial.html 2.Solr运行环境 ...
- win10 远程出现身份验证错误 要求的函数不受支持
win10的一个更新的bug 解决方案 http://note.youdao.com/noteshare?id=68aa9de9fbf46c50a097b3ccf7994580&sub=5AF ...
- 网络通信协议之ICMP
ICMP(互联网控制消息协议) ICMP >>Internet Control Message Protocol IP协议的缺点: >>无差错报告和差错纠正机制 >> ...
- ELK之elasticsearch6安装认证模块search guard
参考:https://www.cnblogs.com/marility/p/9392645.html 1,安装环境及软件版本 程序 版本 安装方式 elasticsearch 6.3.1 rpm ...
- [No0000116]SQLServer启用sa账户
SQLServer如何启用sa账户,今天在这里唠叨一下关于SQL Server数据库如何启用sa账户的,作为一个数据库管理者,需要非常熟练掌握,具体步骤如下: 1.先登录数据库服务 首先在“开始”菜单 ...
- [No0000F9]C# 运算符重载
您可以重定义或重载 C# 中内置的运算符.因此,程序员也可以使用用户自定义类型的运算符.重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的.与其他函数一样,重载运 ...