【发布时间】:2019-08-26 23:12:25
【问题描述】:
我正在尝试使用 PHP 连接到 mariadb 数据库但没有成功。每次尝试我都会得到以下结果:
错误:无法连接到 MySQL。调试 errno:1045 调试错误:用户 'gt_user'@'localhost' 的访问被拒绝(使用密码:YES)
我已经尝试了所有的尝试。甚至恢复到一个从未连接过的简单 index.php 测试。
使用相同的用户凭据从命令行连接可以正常工作
mysql -u USER -p -h localhost database
我什至尝试赋予用户所有权限,并使用 @'%' 而不是 @'localhost' 创建相同的用户
这是我正在尝试的简单测试 php 代码:
<?php
$link = mysqli_connect("localhost", "gt_user", "passpass", "gt_monitor");
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
?>
我也尝试过从本地主机和远程主机上的浏览器。同样的错误。
我认为这与缺少依赖项有关。不知道如何彻底检查。在最新的 Rasbian Stretch 上在 Raspberry pi 上运行 PHP 7.0.33 和 mariadb 10.1.37。
【问题讨论】:
-
当您从 CLI 连接时,您实际使用的是
-u USER还是-u gt_user?该错误消息通常意味着您的用户名和/或密码不正确。与依赖无关 -
另外,你在修改用户表后是否执行了
FLUSH PRIVILEGES? -
是的,我正在使用 gt_user 并且拥有刷新权限。