zoukankan      html  css  js  c++  java
  • shell脚本实现连接mysql数据库,并将结果输出到文本文件中

    本文分享下自己在学习shell过程中如何连接数据库的脚本,本人使用的是MySQL5.7,在连接过程中遇到了一个麻烦,总是报错:Using a password on the command line interface can be insecure.大致意思就是:在命令行界面上使用密码可能不安全。后来在网上查了下大多数解决情况就是更改mysql配置文件my.conf或者将错误信息重定向到/dev/null中,但是以上两种方法感觉都比较麻烦,后来在这个博客:https://blog.csdn.net/w1213096890/article/details/79486754中看到一种用的是更改环境变量的方法,这种方法感觉比较方便,在这里便使用这种方法export MYSQL_PWD=“password”,这样在连接数据库的时候就不用再输入密码了。以下是个人脚本,如果有错误的大家欢迎大家指正。

    #!/bin/bash
    # 连接mysql数据库,并查询结果,将结果输出到文件中
    # 1.定义连接变量
    mysql_u="root"
    mysql_p="******"
    save_f="mysql.txt"
    save_p="/home/path/study/linuxCommond/shell/"
    mysql_sq="select * from shell_one"
    export MYSQL_PWD=${mysql_p}
    echo "开始链接数据库..."
    # 2.连接数据库
    result=`mysql -u$mysql_u << EOF
    use linux;
    $mysql_sq;
    quit
    EOF`
    # 判断是否连接成功
    if [ $? = 0 ] 
    then
     echo "连接成功。。。"
    else
     echo "连接失败。。。"
     exit
    fi
    echo "写入查询结果..."
    # 将结果写入文本
    echo "$result" >> $save_p$save_f
    echo "写入完成..."
    

      测试结果:

    开始链接数据库...
    连接成功。。。
    写入查询结果...
    写入完成...
    

      以下是输入到文本中得内容:

    sid	sname	sage	sgender	sclass
    1	张三	23	1	一班
    2	李四	24	1	二班
    3	王五	25	1	三班
    4	赵六	26	1	一班
    5	蓝宝	20	0	一班
    6	赵荧	22	0	二班
    

      

  • 相关阅读:
    Mybatis基础最后一篇。缓存,实体类序列化(例子:public class User implements Serializable)
    Mybatis基础 lombok插件常用注解(待更)
    mysql面试题,主从复制,读写分离
    Java并发编程实战笔记—— 并发编程1
    Redis——发布和订阅
    Redis——基础使用
    javacv——读取摄像头的图像、截取视频的画面
    LeetCode——372. Super Pow
    Java——数组
    Java——擦除
  • 原文地址:https://www.cnblogs.com/gzd1-sailoring/p/15396538.html
Copyright © 2011-2022 走看看