您的位置:首页 > 运维架构 > Linux

linux使用脚本自动连接数据库

2015-09-12 16:14 218 查看
脚本名: mtest1.sh

#!/bin/bash
# test connecting to the Mysql server

MYSQL=`which mysql`

$MYSQL test -u root -p


运行脚本时会让用户输入密码:



这样对于非交互脚本来说并不够好。-p命令行参数导致Mysql暂停下来并要求用户输入密码,当然,你也可以将密码放在密令行上来解决:

$MYSQL test -u root -p123456


注意,这时-p和密码必须连起来,否则会出错。

这时运行就可以直接进入数据库了。

但这并不是一个好办法,任何能访问脚本的人都会看到数据库的用户帐号和密码。

要解决这个问题,你可以使用MYSQL程序的一个特殊配置文件。MYSQL程序使用my.cnf文件来读取特殊的启动命令和设置。其中一项设置是由该游湖账户发起的MYSQL会话的默认密码。

要在这个文件中设置默认密码,可以加入下面内容

[client]
password=123456


再用chmod命令来限制my.conf的文件访问 chmod 400 my.cnf ,这样就只有你可以看到他

接下来就可以使用脚本来操纵数据库了。

脚本名: mtest3.sh

#/bin/bash
# send a command to the MySQL server

MYSQL=`which mysql`
$MYSQL test -u root -e ' select * from employees where salary  > 4000;'


运行脚本 sh mtest3.sh

输出:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: