【问题标题】:host is not allowed to connect to this server不允许主机连接到此服务器
【发布时间】:2014-04-02 07:28:19
【问题描述】:

快速 mysql 问题。 我是 php/mysql 的新手,并且学习了一个教程(php/mysql for dummies),所以我真的不知道我做错了什么或者教程是否错了。

我有一个文件“database_connections.inc”,看起来像这样:

<?php
$user = "username";
$host = "host";
$password = "password";
$database = "database";
?>

由于明显的原因未包括实际凭据。

然后在另一个文件 login.php 中,我有:

include("database_connections.inc");
$cxn = mysqli_connect($host,$user,$password,$database)
or die("Query died: Couldnt connect to server.");

我收到一条带有“或死亡”文本的错误消息,并伴有警告:

host xxxxx.000webhost.com 不允许在....中连接到这个mysql服务器

为什么不呢?我确定我的凭据都是正确的。

我在几个地方读到了一些运行 shell 语句的文章……但我真的不能这样做,我在 Windows 上。

我正在使用 phpMyAdmin,所以希望我可以从那里做点什么?

【问题讨论】:

  • 大多数 MySQL 服务器都配置为只接受本地连接,因此除非您的 $host 是 localhost,否则它可能无法正常工作。这是出于安全原因顺便说一句。除非你有充分的理由和良好的安全系统,否则你不应该改变这一点。
  • 你的代码在哪里运行,数据库在哪里?
  • 主机应该是xxxxx.000webhost.com 而不是“主机”或“本地主机”。我对那台服务器很熟悉。

标签: php mysql


【解决方案1】:

打开“database_connections.inc”并将其更改为如下所示:

<?php
$user = "root";
$host = "localhost";
$password = "";
$database = "test";
?>

MySQL 默认配置为使用 localhost(或 127.0.0.1),为了允许“host xxxxx.000webhost.com”作为主机,打开 phpMyAdmin 并选择“SQL”并执行此查询;

GRANT ALL ON your_database_name.* TO your_user@your_host_xx.xxx.xx.xx IDENTIFIED BY 'your_password'; 

【讨论】:

    【解决方案2】:

    进入 PHPMyAdmin,然后编辑您的用户。

    在登录信息下,应该有一个“主机”选项-尝试添加xxxxx.000webhost.com。

    【讨论】:

      猜你喜欢
      • 2013-03-31
      • 2019-11-29
      • 1970-01-01
      • 2011-02-26
      • 2019-06-07
      • 2023-03-29
      • 2019-08-05
      • 2016-02-20
      相关资源
      最近更新 更多