0

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

4

2 回答 2

3

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

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

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

于 2012-12-05T05:49:13.767 回答
2

尝试这个。有用。

mysql -u$USER_NAME  -p$PASSWORD -eexit

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

例子:

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

错误 1045 (28000): 用户 '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.
于 2012-12-05T10:16:37.927 回答