【问题标题】:Authentication Failure When Connecting to MySQL as Non-Root User以非root用户连接MySQL时认证失败
【发布时间】:2020-01-26 04:32:02
【问题描述】:

对于我创建的新用户帐户,我的登录尝试失败了,我花了几个小时学习 MySQL 如何处理身份验证,但最终我认为我只是没有完全理解 MySQL 的所有组件如何组合在一起服务器的认证逻辑。

都在同一台服务器上:

  • MySQL 5.7

  • phpMyAdmin 4.9

  • Ubuntu 18.04

其他信息:

  • mysql.user表中没有用户名为空的用户

  • 密码没有特殊字符

  • 我已经尝试过 localhost、127.0.0.1 和实际主机名本身

  • /var/log/mysql/error.log 只显示完全相同的错误消息

创建用户

这由以下任一人完成:

  1. phpMyAdmin GUI > SQL 选项卡:
flush privileges;
create user 'testuser'@'localhost' identified by 'password!';
grant * on inventory to 'testuser'@'localhost';
flush privileges;
  1. phpMyAdmin GUI > 用户帐户选项卡 > 添加用户帐户

  2. ssh 进入 Ubuntu 服务器并从 mysql 命令行创建用户(以 root 身份)

不管我怎么做,我都可以成功创建用户,但是我无法进行身份验证。

验证用户身份

这是我尝试过的两种方法:

1) 从 Ubuntu 服务器上的 ssh 会话:

  • mysql -u testuser -p

  • mysql -u testuser -h 127.0.0.1 -p

  • mysql -u testuser -h localhost -p

  • mysql -u testuser -h -p

2) 使用 (IE / Chrome / FF) 从另一台机器运行 connect.php:

<?php

$dbhost='localhost';
$dbuser='testuser';
$dbpass='password';
$dbname='inventory';

$conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);

if($conn->connect_error) {
    die("Error: Couldn't connect: ".$conn->connect_error);
}

?>

2) 根据我使用的是'testuser'@'%' 还是'testuser'@'localhost',我会得到以下两个错误之一:

  • 用户 'testuser'@'%' 的访问被拒绝(使用密码:YES)

  • 用户'testuser'@'localhost'的访问被拒绝(使用密码:YES)

为了排除这是权限问题,我为用户分配了所有全局权限,但错误消息没有更改,因此我恢复了更改。

运行select host,user,plugin,authentication_string,account_locked from mysql.user where user='testuser'; 显示:

主机本地主机

用户测试用户

插件 mysql_native_password

authentication_string blahblahblah

account_locked

【问题讨论】:

  • 访问被拒绝意味着您的用户名或密码不正确。
  • 如果 php 脚本在远程机器上运行并且您提供 localhost 作为 dbhost,那么您将连接到运行 php 脚本的计算机上的 mysql。这可以解释访问被拒绝。那个 ssh 会话对我来说也很可疑,我认为你没有连接到你认为的 mysql 服务器。
  • @Shadow 是错误的服务器。我认为你每周只能被解雇 3 次,所以我并没有超出限制。谢谢!
  • 我建议你删除这个问题

标签: php mysql lamp


【解决方案1】:

尝试像这样授予权限:

GRANT ALL ON inventory.* TO 'testuser'@'localhost';

【讨论】:

    猜你喜欢
    • 2018-01-16
    • 1970-01-01
    • 2021-04-27
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 2015-11-26
    • 1970-01-01
    相关资源
    最近更新 更多