我正在开展一个学校项目,我必须将数据上传到phpMyAdmin上托管的数据库。
我现在感到困惑的是,我在页面顶部看到“localhost”,在我查询数据库之前,我看到“在服务器上运行SQL查询/查询”localhost“:”
这是否意味着我在我的计算机上托管服务器并通过它访问数据库?因为那时我查询“SHOW VARIABLES WHERE Variable_name ='hostname';”并返回hostname = webhost330。 (它托管在webhost330.asu.edu上)。
我对这意味着什么非常困惑。感谢您提供任何可能的帮助。
我对数据库很陌生,所以请原谅我,如果我在这里错过了一些简单的东西。
编辑:澄清:我不在学校,我在家。这有什么影响?换句话说,这与本地托管数据库有什么区别?当我通过MySQL命令行客户端在我的计算机上托管数据库时,我可以创建数据库信息,并将其存储在我的计算机上的文件中。这是否意味着它最初存储在localhost上,然后该数据用于在我的计算机上创建文件?
然后,与webhost330相同的是localhost最初存储数据库,然后将其上传到phpMyAdmin的主机?这是我最困惑的主要事情。
答案 0 :(得分:3)
这恰恰意味着你的假设。连接到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
就可以在任何地方使用。
答案 1 :(得分:1)
假设你在学校,并假设你在学校网络上。然后是的,你的机器可能是“webhost330.asu.edu”。至少webhost330.asu.edu认为“webhost330.asu.edu”是localhost。
答案 2 :(得分:1)
要查看“localhost”在MySQL服务器方面的含义,您必须查看用于连接Web服务器的URL。
例如,如果网址为
http://localhost/phpmyadmin
这个phpMyAdmin实例告诉我MySQL服务器在localhost上,这意味着MySQL服务器在我的本地工作站上。
如果URL为http://example.com/phpmyadmin,则localhost将表示MySQL服务器位于同一台计算机上(example.com)。