linux的mysql测试_从Linux命令行测试MySQL凭据?

如何在Linux服务器上从命令行测试MySQL凭据?

解决方法:

对于以下内容,我们假设您使用用户名myuser登录

连接到mysql后,应运行以下查询:

SELECT USER(),CURRENT_USER();

> USER()报告了您如何尝试在MySQL中进行身份验证

> CURRENT_USER()报告如何允许您在MySQL中进行身份验证

有时,他们是不同的.这可以让您深入了解允许您登录mysql的原因.

这是您需要运行的另一个查询:

SELECT CONCAT('''',user,'''@''',host,'''') dbuser,password

FROM mysql.user WHERE user='myuser';

这将向您显示允许您以myuser身份登录的方式.

如果您看到’myuser’@’localhost’,那么您可以从数据库服务器中进行身份验证.

如果您看到’myuser’@’127.0.0.1’并且没有看到’myuser’@’localhost’,那么您可以再次从数据库服务器中进行身份验证,但必须从命令行指定–protocol = tcp.

如果您看到’myuser’@’%’,那么您可以从任何服务器进行远程登录.

如果您看到’myuse’r @ ’10 .20.30,%’,那么您只能从10.20.30.%netblock进行远程登录.

一旦你看到’mysql.user’对你的用户有什么,你可能想要以一种方式而不是另一种方式允许或限制myuser来自logggin.

如果您只想检查myuser的密码是否为password,则可以执行以下操作:

SELECT COUNT(1) Password_is_OK FROM mysql.user

WHERE user='myuser'

AND password=PASSWORD('whateverpassword');

您可以从命令行中进行检查,如下所示:

PASSWORDISOK=`mysql -uroot -p... -ANe"SELECT COUNT(1) Password_is_OK FROM mysql.user WHERE user='myuser' AND password=PASSWORD('whateverpassword')"`

如果您不是root并且只​​想测试myuser,则可以执行以下操作:

PASSWORDISOK=`mysqladmin -umyuser -pwhateverpassword ping | grep -c "mysqld is alive"`

如果您获得1,myuser的密码将被验证为良好.

标签:linux,mysql,command-line

来源: https://codeday.me/bug/20190805/1588010.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值