You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB连接报错1130:主机无法连接服务器问题求助

解决MariaDB错误:(HY000/1130) Host 'xxx.xxx.xxx' is not allowed to connect

这个错误的核心原因是数据库用户的连接主机权限未正确配置——哪怕你在cPanel里给用户开了全部数据库权限,MariaDB仍会限制只有指定主机的用户能发起连接。

解决步骤:

  • 登录你的cPanel面板,找到「MySQL Databases」(或同类数据库管理入口)
  • 定位到你创建的用户theveis1_nand1,点击「修改权限」或「设置允许的主机」选项
  • 根据场景配置允许的主机:
    • 若网站与数据库在同一服务器:将允许主机设为localhost或127.0.0.1(同时建议把代码里的$servername也改成localhost,比公网IP更稳定)
    • 若为外部服务器连接:直接填入错误提示里的IPxxx.xxx.xxx;临时测试可填%(代表允许所有主机,生产环境禁用,有安全风险)
  • 保存设置后,重新运行代码测试连接

你的代码整理(修正转义字符后):

连接数据库的connectDB.php:

<?php
    $servername = "xxx.xxx.xxx";
    $username = "theveis1_nand1";
    $password = "xxxxxxxxx";
    $dbname = "theveis1_userdata";
    $conn = new mysqli($servername, $username, $password, $dbname);

    if($conn->connect_error) {
        die("Error connect DB" . $conn->connect_error);
    }
?>

处理POST请求的代码:

<?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

    if($_SERVER["REQUEST_METHOD"] == "POST") {
        include  "$_SERVER[DOCUMENT_ROOT]/assets/coments/connectDB.php";

        if ($conn === null) {
            die("Error connect DB");
        }
    }
?>

额外提示:如果网站和数据库在同一服务器,把$servername改为localhost能规避多数IP权限问题,因为大部分服务器的MariaDB默认只监听本地端口。

内容的提问来源于stack exchange,提问作者Nand1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 09:57:16