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