【问题标题】:PHP Connection Error to MariaDB: Error 1045 Access Denied与 MariaDB 的 PHP 连接错误:错误 1045 访问被拒绝
【发布时间】: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 并且拥有刷新权限。

标签: php mariadb


【解决方案1】:

设法解决了这个问题。

基本上干净地删除了mysql,重新安装并再次设置数据库。插入一些数据并重新测试了首先运行的测试 index.php。

为了将来参考,以下是我为重回正轨而采取的以下步骤:

 sudo apt-get remove --purge mysql-server mysql-client mysql-common -y
 sudo apt-get autoremove -y
 sudo apt-get autoclean

然后重新安装(也可以使用树莓派 GPIO 和 Python:

sudo apt update
sudo apt install mariadb-server
sudo apt-get -y install python-mysql.connector
pip install mysql-connector
pip install mysql-connector-repackaged
pip install mysql-connector-python
pip install mysql-connector-python-dd 
pip install mysql-connector-python-rf

我确实将 gt_user 密码限制为仅限大写/小写字母和数字。没有特殊字符。

希望这对将来的人有所帮助。

【讨论】:

  • 哦,还有针对数据库中的表创建用户的命令 GRANT ALL ON gt_monitor.* TO gt_user@localhost IDENTIFIED BY 'password';
【解决方案2】:

我有同样的问题。

最后对我有用的是使用 PDO 连接而不是 mysqli_connect()。

$myPDO = new PDO('mysql:host=localhost;dbname=dbname', 'username', 'password');

有趣且令人沮丧的问题。当然。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-04
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    相关资源
    最近更新 更多