【问题标题】:Validate MySQL username and password验证 MySQL 用户名和密码
【发布时间】:2012-12-05 05:35:50
【问题描述】:

是否可以在不尝试登录 MySQL 服务的情况下使用 shell 脚本验证给定的 MySQL 用户名和密码?如果是这样,如何?我还没有找到任何有用的解决方案。

【问题讨论】:

    标签: mysql linux shell


    【解决方案1】:

    不,我不相信这是可能的。

    您需要尝试连接到 MySQL 以验证身份验证详细信息是否正确。即使是直接查询 MySQL 用户表(存储凭据的地方)也需要连接到 MySQL 服务器。

    也许您可以分享一下为什么需要这样做?

    【讨论】:

    • Perhaps you can share why you would need to do this 见:perlmonks.org/index.pl?node_id=542341
    • 我同意你的看法。我的任务是在 shell 脚本中自动化 MySQL 登录,为此我需要验证给定的用户密码。有没有其他方法可以推荐?我要做的只是检查用户密码是否有效。目前,我没有任何查询要运行
    • 听起来您可以连接到 MySQL,但您只是没有要运行的查询。您是否尝试使用指定的用户名和密码在脚本中调用 MySQL 并评估结果?例如“mysql -Uusername -Ppassword”。它应该让您知道提供的凭据是否不好。
    【解决方案2】:

    试试这个。它有效。

    mysql -u$USER_NAME  -p$PASSWORD -eexit
    

    如果您提供正确的登录凭据,退出代码将为 0,否则为 1。

    例子:

    miyurz@my-host:~$ mysql -uroot  -pabc123 -eexit
    

    ERROR 1045 (28000): Access denied for user 'root'@'localhost'(使用 密码:是)

    miyurz@my-host:~$ echo $?
    1
    ---------------------------------------------------
    
    miyurz@my-host:~$ mysql -uroot  -pabc12 -eexit
    
    miyurz@my-host:~$ echo $?
    0
    

    解释:

    -e, --execute=name  Execute command and quit.
    

    【讨论】:

      猜你喜欢
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 2018-05-26
      • 2013-12-26
      • 2016-01-24
      相关资源
      最近更新 更多