我正在开展一个学校项目,在该项目中我必须将数据上传到 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.edu
或 localhost
均表示您所在计算机上的同一个本地 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/