【问题标题】:Host 31.170.160.209 is not allowed to connect to this my SQL不允许主机 31.170.160.209 连接到这个我的 SQL
【发布时间】:2016-04-13 06:06:08
【问题描述】:

我的错误是警告:mysqli::mysqli() [mysqli.mysqli]: (HY000/1130): Host '31.170.160.209' is not allowed to connect to this MySQL server in /home/a6962874/public_html/social /includes/class-db.php 在第 5 行

免费虚拟主机 连接失败 Host '31.170.160.209' is not allowed to connect to this MySQL server and my code is $mysqli = new mysqli('findus.comxa.com', 'root', '', 'social');错误是什么 mysql中的错误是什么> CREATE users 'usman'@'root' IDENTIFIED BY 'some_pass';

【问题讨论】:

标签: php mysql mysqli


【解决方案1】:

首先不是users,而是USER(没有最后的s)!

CREATE USER 'usman'@'root' IDENTIFIED BY 'some_pass';

在您的情况下,@'root' 应该是 'findus.comxa.com' 或 '31.170.160.209'。

CREATE USER 'usman'@'31.170.160.209' IDENTIFIED BY 'some_pass';

请注意,MySQL documentation 表示:

如果您只指定帐户名的用户名部分,则使用“%”的主机名部分。

这意味着您可以在不指定域的情况下创建用户:

CREATE USER 'usman' IDENTIFIED BY 'some_pass';

然后,别忘了授予权限:

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';

【讨论】:

  • 在我的情况下会发生什么更正:mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON . TO 'monty'@'localhost' -> WITH GRANT OPTION; mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON . TO 'monty'@'%' -> WITH GRANT OPTION;
  • SQL 查询:mysql > CREATE USER 'usman'@'31.170.160.209' IDENTIFIED BY 'some_pass'; MySQL 说:文档 #1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'mysql> CREATE USER 'usman'@'31.170.160.209' IDENTIFIED BY 'some_pass'' 附近使用正确的语法任何错误
【解决方案2】:

我建议您检查您的凭据 用户名,密码,可能是端口和服务器

这里是一个连接数据库的小例子 用mysqli

<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");

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);
?>

使用 PDO

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    foreach($dbh->query('SELECT * from FOO') as $row) {
        print_r($row);
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

试试看,祝你好运

PDO CONNECT

MYSQLI CONNECT

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 2020-08-06
    • 2017-10-09
    • 2012-06-07
    相关资源
    最近更新 更多