mysql - 我究竟如何通过 phpMyAdmin 上的本地主机访问主机/服务器?

标签 mysql sql database phpmyadmin


我正在开展一个学校项目,在该项目中我必须将数据上传到 phpMyAdmin 上托管的数据库。

现在让我感到困惑的是,我在页面顶部看到“localhost”,在查询数据库之前,我看到“在服务器“localhost”上运行 SQL 查询/查询:”

这是否意味着我在计算机上托管服务器并通过该服务器访问数据库?因为然后我查询“SHOW VARIABLES WHERE Variable_name = 'hostname';”它返回主机名 = webhost330。 (它托管在 webhost330.asu.edu 上)。

我对这意味着什么感到非常困惑。感谢您提供任何可能的帮助。

我对数据库非常陌生,所以如果我在这里遗漏了一些简单的东西,请原谅我。

编辑:澄清一下:我不在学校,我在家里。这有什么影响?换句话说,这和本地托管数据库有什么区别?

当我通过 MySQL 命令行客户端在我的计算机上托管数据库时,我可以创建数据库信息并将其存储在我的计算机上的文件中。这是否意味着它最初存储在本地主机上,然后该数据用于在我的计算机上创建文件?

然后与 webhost330 等效的是,本地主机最初存储数据库,然后将其上传到 phpMyAdmin 的主机?这是我最困惑的事情。

最佳答案

这正是您所假设的。当连接到 localhost 时,您将连接到同一台计算机上的本地 MySQL 服务器。使用 webhost330.... 您可以连接到该远程 MySQL 服务器实例(如果这不是您自己计算机的名称)。您自己的服务器可以是 webhost30.etcetc

编辑

如果您的网站托管在此处:webhost330.asu.edu,则 MySQL 主机为 webhost330.asu.edulocalhost 均表示您所在计算机上的同一个本地 MySQL 服务器。

根据您的更新进行编辑

如果您在家,那么 localhost 表示您已连接到安装在自己计算机上的 MySQL 服务器。 webhost30.etc.etc 表示您已连接到学校的数据库。数据库确实允许远程连接,如果您从家里连接到学校,那就是远程 MySQL 连接。

为了消除您的困惑,您应该在代码中仅使用localhost。家里的 localhost 意味着开发服务器,即您的家庭计算机,当您将相同的代码带到 webhost30.etc.etc 时,则 localhost对于该服务器来说意味着它有自己的 MySQL 安装。因此,只要您不希望代码连接到远程外部 MySQL 数据库服务器,localhost 就可以在任何地方工作。

关于mysql - 我究竟如何通过 phpMyAdmin 上的本地主机访问主机/服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20040055/

相关文章:

sql - PostgreSQL - 按行组分页

mysql - 尝试安装 Perl-Mysql DBD,找不到 mysql_config

mysql - 什么是 MySQL InnoDB 意向锁?

java - 在 Hibernate 中使用 Native SQL 批量插入

php - 具有数组值的 Doctrine DBAL setParameter()

mysql - SQL 查询给出每场比赛的最小日期

php - 使用公平槽策略从队列中获取下一个任务

mysql - 选择日期时间大于指定日期的记录

mysql - 每天计算注册用户的 SQL 查询

c# - 在 .isPasswordExpired 和服务器线程、版本上使用 c# 连接 mysql 时出现空引用异常