Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 连接到目标计算机上的mySql数据库时出现问题_Php_Mysql_Pdo_Mysql Workbench - Fatal编程技术网

Php 连接到目标计算机上的mySql数据库时出现问题

Php 连接到目标计算机上的mySql数据库时出现问题,php,mysql,pdo,mysql-workbench,Php,Mysql,Pdo,Mysql Workbench,我正在使用hostgator托管我的网站,我已经添加了我的IP地址作为远程访问主机。然后我连接了mySql workbench并测试了连接,我得到了所有参数都正确的消息。在hostgator上,我将自己添加为管理员用户,授予自己所有权限。现在我想通过使用PDO的PHP脚本操作数据库,但这是我在尝试运行PHP文件时在浏览器中遇到的错误: 连接失败:SQLSTATE[28000][1045]拒绝用户“用户”@“主机”的访问(使用密码:是) 在mySQL workbench的“用户和权限”选项卡上,我

我正在使用
hostgator
托管我的网站,我已经添加了我的
IP
地址作为远程访问主机。然后我连接了mySql workbench并测试了连接,我得到了所有参数都正确的消息。在hostgator上,我将自己添加为管理员用户,授予自己所有权限。现在我想通过使用PDO的PHP脚本操作数据库,但这是我在尝试运行PHP文件时在浏览器中遇到的错误:

连接失败:
SQLSTATE[28000][1045]拒绝用户“用户”@“主机”的访问(使用密码:是)

在mySQL workbench的“用户和权限”选项卡上,我得到以下信息:

您当前使用的帐户没有足够的权限更改MySQL用户和权限。

我不确定这里到底出了什么问题,而且我对这件事很陌生。有人能帮忙吗

编辑:

php代码如下:

<?php

    ini_set('display_errors',1);
    error_reporting(E_ALL);

    //this block tries to connect to the database
    //if there's an error connecting, the code under catch will
    //and the program will end


    $host="host";
    $port="3306";
    $user="xxx";
    $password="xxx";
    $dbname="database";

    try {
        $conn = new PDO("mysql:host=$host;dbname=$dbname;", $user, $password);
        // set the PDO error mode to exception
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        echo "Connected successfully";
        }
    catch(PDOException $e)
        {
        echo "Connection failed: " . $e->getMessage();
        }
       //$con->close();
    ?>

您用于连接的用户似乎具有非常有限的访问权限。为了查看/更改用户权限,您需要具有更多权限的用户(例如,标准root用户)。连接可能会失败,因为您连接的机器不允许该特定用户使用。注意,在MySQL中,您可以指定允许用户连接的主机


MySQL安装需要一个不同于脚本运行服务器的服务器,这是很不寻常的。这就是为什么使用localhost或环回地址通常就足够了(请注意,这里还有IPv4和IPv6之间的差异,我在故障排除视频中有概述:)。但是,如果服务器确实不同,请确保允许用户从运行php脚本的服务器进行连接。在simpelst情况下,您可以添加
anyhost
条目(例如“myuser@%”),但是访问规则的限制性越强越好。还要确保此用户可以访问工作所需的架构和表。如果您有一个允许更改其他用户权限的用户,则可以在MySQL Workbench中设置所有这些设置。

SQLSTATE[28000][1045]拒绝对用户'user'@'主机的访问(使用密码:是)

上述错误的原因是您的密码错误

在签入my.cnf(Linux版)或my.ini(windows版)之前,绑定地址=0.0.0.0


如果绑定地址被禁用,请启用它。

你能用用户名和密码通过shell成功登录吗?你必须在这里发布你的
php
代码我查看了这篇文章,奇怪的是我甚至没有一个usr目录来存放这个文件。不幸的是,SSH连接失败了@sanojlawrence我编辑了我的主线程以包含phpcode@rads89您必须提到
$host=“localhost”@sanojlawrence我没有尝试连接到本地主机。我实际上正在尝试连接到我的hostgator服务器。为了写这篇文章,我刚刚删除了hostgator服务器的IP地址。