我有一个远程mysql数据库,我正试图通过我的web服务器连接到它。
尝试通过连接时出现的错误 mysqli
是
Connection refused 2002
我已为远程连接调用此命令: grant all on db.* to '<user>'@'<hostname>' identified by '<password>';
我希望我能在一些日志文件中从mysql服务器上找到更详细的描述。问题是哪一个合适?
其他问题表明 /var/log/mysql/error.log
但我在那个文件里根本没有任何输出。我目前没有运行任何类型的防火墙。可能是我的 apache config
但是我不知道该怎么检查,我想如果是这样的话,我就不会得到正确的答案 2002 error
,而是另一个类似于apache的错误消息。
似乎没有任何资源可以为调试类似于apache的问题提供一个通用的工作流。
我应该查看哪些调试日志?
编辑:这是我的apache配置文件:
<Directory />
Options FollowSymLinks
AllowOverride All
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
以下是php和mysql代码:
//define DB variables
define("DB_HOST", "45.77.xx.xxx");
define("DB_NAME", "login");
define("DB_USER", "root");
define("DB_PASS", "Correct_Password");
$this->db_connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
echo mysqli_connect_error() . PHP_EOL;
echo $this->db_connection->connect_errno;
输出: $this->db_connection->connect_errno
设置为 2002
以及 mysqli_connect_error()
设置为 Connection refused
1条答案
按热度按时间wrrgggsh1#
你试过用你的主机名交换主机地址(45.77.xx.)吗?
当我遇到同样的问题时(尽管我的是localhost),我将主机ip从127.0.0.1改为127.0.0.1,它就工作了。您可能希望使用主机名而不是ip地址。