MySQL执行sql查询并上传至远程服务器

Posted Live In A Dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL执行sql查询并上传至远程服务器相关的知识,希望对你有一定的参考价值。

最近项目中有需要做一个shell脚本,可以对一个数据库执行sql操作,并将结果转为txt,筛选结果用tab隔开,保存至一个远程服务器上,以供其他人用Excel读取用txt中的内容。

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执行sql查询并上传至远程服务器的主要内容,如果未能解决你的问题,请参考以下文章

MSSQL 连接远程数据库

记录所有 mysql 查询

Jenkins打包上传至远程服务器

mysql自动备份并上传至git仓库

mysql自动备份并上传至git仓库

如何在python中执行mysql查询并将输出作为数据框[重复]