zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    RWCString 定义 memeroy leak
    打开eclipse报错
    Eclipse 增加php插件
    Shell 字符串的截取
    【转载】Shell判断字符串包含关系的几种方法
    Shell $? $* $@ 等含义
    Shell 获取指定行的内容
    概念性进程
    网络编程
    模块详解
  • 原文地址:https://www.cnblogs.com/micrari/p/5572681.html
Copyright © 2011-2022 走看看