MySQL执行sql查询并上传至远程服务器
2016-06-09 20:14
483 查看
最近项目中有需要做一个shell脚本,可以对一个数据库执行sql操作,并将结果转为txt,筛选结果用tab隔开,保存至一个远程服务器上,以供其他人用Excel读取用txt中的内容。
MySQL中将结果保存下来,有两种方案,一种是在sql语句中增加INTO OUTFILE语句,并且可以定制化输出的格式。但是这种方法留下的文件在数据库所在的服务器上,而期望的是将文件放在执行脚本的机器上。
后来实现是不改变sql语句的内容,在脚本中将结果保存到本地/tmp目录下,再用curl上传到远程服务器上,下面抽出脚本中主要的结构的代码,文件上传或者编码转换之类的就不放了。
MySQL中将结果保存下来,有两种方案,一种是在sql语句中增加INTO OUTFILE语句,并且可以定制化输出的格式。但是这种方法留下的文件在数据库所在的服务器上,而期望的是将文件放在执行脚本的机器上。
后来实现是不改变sql语句的内容,在脚本中将结果保存到本地/tmp目录下,再用curl上传到远程服务器上,下面抽出脚本中主要的结构的代码,文件上传或者编码转换之类的就不放了。
#! /bin/bash db_host='your_db_address' db_port=3306 db_username='user' db_password='password' db_name='your_db_name' table_name='your_table_name' output_file='/tmp/output.txt' sql_stmt="USE ${db_name}; \ SELECT * FROM ${table_name}" mysql -h $db_host -P $db_port -u $db_username --password=$db_password -e "$sql_stmt" -B > $output_file
相关文章推荐
- MySql-索引优化
- MySQL体系结构
- Liunx下修改MySQL字符集
- mysql启动报错Can't read from messagefile处理
- 电商之梳理mysql相关知识---数据库
- 一个mysql索引顺序优化的案例
- mysql查询优化
- MySQL数据类型的最优选择
- MySQL 语句优化
- MySQL学习之:用户管理(添加用户,删除用户,添加权限,查看权限,密码等)
- mysql数据库简单操作
- 5、MySQL主健和索引
- [sql]mysql启停脚本
- mysql 常用字段和占用 字节数
- what's my passwd of mysql? on mysql5.7
- mysql5.7,utf-8字符编码问题
- 二进制安装mysql5.6乱码终极解决
- mysql基础总结_思维导图总结
- Ubuntu15.10 安装MysqlServer
- mycat系列-概述