本文分享下自己在学习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 二班
7 赵迁 27 1 三班