mySQL脚本错误

时间:2014-04-05 20:53:32

标签: mysql authentication debian openvpn

我一直在努力让运行Debian-7-Wheezy的OpenVPN服务器整天通过mySQL进行身份验证。我在运行WHM和cPanel的另一台服务器上托管了mySQL。我将OpenVPN服务器的IP添加到白名单以进行数据库连接,检查了我的所有凭据并仔细检查了配置文件。当我跑:/etc/openvpn/script/test_connect_db.sh test 1234时,我收到了这个错误:

/etc/openvpn/script/test_connect_db.sh: line 6: mysql: command not found

身份验证失败。

位于/etc/openvpn/script/test_connect_db.sh的文件看起来完全如下:

#!/bin/bash

. /etc/openvpn/script/config.sh

##Test Authentication

username=$1

password=$2

user_id=$(mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -sN -e "select user_id from user where       user_id = '$username' AND user_pass = '$password' AND user_enable=1 AND user_start_date !=    user_end_date AND TO_DAYS(now()) >= TO_DAYS(user_start_date) AND (TO_DAYS(now()) <=    TO_DAYS(user_end_date) OR user_end_date='0000-00-00')")

##Check user
[ "$user_id" != '' ] && [ "$user_id" = "$username" ] && echo "user : $username" && echo  'authentication ok.' && exit 0 || echo 'authentication failed.'; exit 1

知道什么是错的吗?

1 个答案:

答案 0 :(得分:0)

听起来你的事件远远不足以尝试开始使用mysql连接。

您指定的错误表明它甚至找不到mysql客户端。

你能成功地从脚本外的命令行运行“mysql”吗?

如果是这样,表明你的$ PATH变量未在脚本范围内正确设置。

您没有说出config.sh正在做什么。也许那就是写PATH变量?

无论哪种方式,如果你可以从命令行运行mysql然后运行

which mysql

这应该为您提供客户端二进制文件的完全限定路径,您可以在脚本中使用它。