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

脚本名: 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 

输出:

posted @ 2015-09-12 16:14  todaytoday  阅读(1993)  评论(0编辑  收藏  举报