【问题标题】:mysqli_connect: Prevent 127.0.0.1 from changing to "localhost"mysqli_connect:防止 127.0.0.1 更改为“localhost”
【发布时间】:2013-03-26 11:03:14
【问题描述】:

我的主机阻止了“localhost”,所以我必须改用 127.0.0.1。当我尝试运行连接 php 脚本时,我收到此错误“用户'xxx'@'localhost'的访问被拒绝(使用密码:YES)”。是否有一个php函数来保留IP地址而不是“localhost”?

【问题讨论】:

  • 在您的数据库连接例程中,您只需指定127.0.0.1
  • 127.0.0.1 已在此处指定。 $sql_con = mysqli_connect($sql_server, $sql_username, $sql_password, $sql_db);$sql_server = "127.0.0.1";
  • 127.0.0.1 我认为不会反向解析为localhost。所以,问题可能出在你的脚本中
  • 我也在 XAMPP 上试过这个脚本,它在那里工作得很好。只是运行脚本时没有保留IP的问题。我的托管公司告诉我他们出于安全原因阻止了“localhost”,我必须使用 IP 127.0.0.1
  • 您可以通过浏览器使用localost 访问数据吗?

标签: php mysql localhost


【解决方案1】:
Access denied for user 'xxx'@'localhost' (using password: YES)

此消息通常表示用户名/密码错误。

同时尝试使用 127.0.0.2 而不是 127.0.0.1

我不明白如何阻止 localhost 但允许 127.0.0.1 可以提高安全性..

【讨论】:

  • 127.0.0.2 给了我这个错误:Host '127.0.0.2' is not allowed to connect to this MySQL server.。这家托管公司在很多方面都很奇怪......:D
  • 所以“访问被拒绝”错误意味着您连接到了 mysql 服务器,但 mysql 服务器本身拒绝连接。我希望你仔细检查密码?
  • 我多次检查用户名和密码,并询问托管公司密码是否真的正确......
  • 知道了。我用 " 而不是 ' 并且密码包含一个 $。我花了 5 个小时才认出这一点 -.- 还是谢谢!
【解决方案2】:

在 mysqld 中禁用主机名查找是提高其性能的步骤之一。权衡是使用主机名而不是 ip 的帐户将不再起作用。我自己也遇到了这个问题。唯一的解决方案似乎是在 mysql 中再次启用查找。

【讨论】:

    猜你喜欢
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    相关资源
    最近更新 更多