php - 连接远程 MySQL 服务器时创建 PDO 失败

标签 php mysql sql-server exception pdo

我和我的 friend 正在一个网站上工作,我正试图在我的机器上安装它的构建版本。它已经在服务器上实时运行,我似乎无法从本地计算机连接。当我这样做时,出现以下错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] 
Access denied for user 'myusername'@'adsl-client.example.net' (using password: YES)' in /Users/myname/Sites/mysitefolder/req/connect.php:25 
Stack trace: #0 /Users/myname/Sites/mysitefolder/req/connect.php(25): PDO->__construct('mysql:host=mysq...', 'myusername', 'mypassword') 
#1 /Users/myname/Sites/burn-after-reading/inc/header.php(9): ConnectionFactory->getConnection() 
#2 /Users/myname/Sites/burn-after-reading/index.php(79): include('/Users/myna...') 
#3 {main} thrown in /Users/myname/Sites/mysitefolder/req/connect.php on line 25

这是我尝试连接的文件,connect.php

<?php

class ConnectionFactory
{
    var $dbhost = 'mysql.mysitename.io';
    var $dbname = 'my_database_name';
    var $dbusername = 'myusername';
    var $dbpassword = 'mypassword';

    private static $factory;
    public static function getFactory()
    {
        if (!self::$factory)
            self::$factory = new ConnectionFactory();
        return self::$factory;
    }

    public function getConnection() 
    {
        $conn = new PDO("mysql:host={$this->dbhost};dbname={$this->dbname}", 
            $this->dbusername,
            $this->dbpassword);
        return $conn;
    }

    public function getConnectionNoName()
    {
        $connNoName = new PDO(
            "mysql:host={$this->dbhost}", 
            $this->dbusername,
            $this->dbpassword
        );
        return $connNoName;
    }
}

最佳答案

出于安全原因,您需要将您的 IP 地址添加到允许的远程 mysql 连接列表中。

关于php - 连接远程 MySQL 服务器时创建 PDO 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096592/

相关文章:

javascript - 如何在jquery中循环遍历ID

php - FOSOAuthServerBundle 和 FOSUserBundle - 如何让它工作?

PHP - 将文件转换为二进制文件并使用 HTTP POST 发送

mysql - 在 MySQL 查询中创建排名列

c# - .NET Core 无法连接到远程 SQL Server 数据库

SQL Server - 如何管理表中的分层数据?

php - 为什么在尝试使用 mysqldump 命令时出现此错误?

mysql - SQL:语法错误

mysql - 发票和订阅的应用程序逻辑?

sql-server - 如何查看Azure SQL Server实例中授予任何数据库用户的角色和权限?