gpt4 book ai didi

php - 网站连接到本地 MySQL 服务器

转载 作者:可可西里 更新时间:2023-11-01 11:38:01 25 4
gpt4 key购买 nike

我最近在我的 Windows 家庭计算机上配置了一个 MySQL 服务器。此外,我还使用 0fees.net 创建了一个网站——一个免费的托管服务提供商,它带有一个 vista 面板,提供各种服务,包括 PHP 支持、FTP 文件托管、它自己的 MySQL 服务器等。

对于该网站,我创建了一个“登录”PHP 脚本,以便人们登录到我的网页。但是,我希望 PHP 登录脚本直接从我在家用计算机上配置的 MySQL 服务器读取,而不是从 0fees.net 的 cPanel 上给我的 MySQL 数据库读取。为此,我采取了几个步骤:

1) 使用 MySQL 服务器实例配置向导配置 MySQL

在该配置中,我在端口 3306 上启用了 TCP/IP 网络(并为该端口启用了防火墙异常(exception))并启用了远程计算机的根访问。

2) 在 MySQL 命令行客户端上,我已通过以下方式授予其他单元远程访问权限:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

3) 我已将端口 3306 转发到我的路由器(并使用各种端口检查程序来确认它是打开的)

4) 我创建了名为“login.php”的登录脚本,它位于我站点的 .htdocs 目录中,它在我的网站主页上处理一个 HTML 登录表单。它尝试(但失败)连接到我的本地 MySQL 服务器。该 php 脚本感兴趣的部分是:

    $host="my_external_ip:3306"; // External IP of my computer and port to listen on
$username="root"; // Username specified in the GRANT command-line-client command
$password="password"; // Password specified in the GRANT command-line-client command
$db_name="logon"; // MySQL database name
$tbl_name="accounts"; // Table name within the database

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die(mysql_error());
mysql_select_db("$db_name")or die("cannot select DB");

当尝试连接到 MySQL 服务器时,我收到一条错误消息,指出:

Can't connect to MySQL server on 'my_external_ip' (4).

还应该注意的是,我能够使用端口 3306 上的相同外部 IP 地址从其他互联网网络(使用 Navicat 测试)上的其他机器远程连接到我的本地 MySQL 服务器。关于原因的任何想法我的网站也无法连接?

提前感谢您的任何见解。

最佳答案

因为我可以确定您的服务器确实在运行(并且通常可以从 Internet 上看到),所以有几种可能性:

  1. 您忘记运行 FLUSH PRIVILEGES
  2. 您的用户名或密码有误
  3. 您的免费主机提供商正在阻止连接

我的钱在#3 上,有很多激励措施可以做到这一点。

关于php - 网站连接到本地 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6349688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com