【问题标题】:mySQL Script ErrormySQL 脚本错误
【发布时间】:2014-04-05 20:53:31
【问题描述】:

我整天都在尝试让运行 Debian-7-Wheezy 的 OpenVPN 服务器通过 mySQL 进行身份验证。我将 mySQL 托管在另一台运行 WHM 和 cPanel 的服务器上。我将 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

知道有什么问题吗?

【问题讨论】:

    标签: mysql authentication debian openvpn


    【解决方案1】:

    听起来您的事件还不足以开始尝试 mysql 连接。

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

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

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

    你没有说 config.sh 在做什么。也许这已经结束了 PATH 变量的编写?

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

    which mysql
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 2013-10-14
      • 2011-05-12
      • 1970-01-01
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      相关资源
      最近更新 更多