【问题标题】:LAMP Stack Setup on Ubuntu: What is 'localhost'?Ubuntu 上的 LAMP 堆栈设置:什么是“本地主机”?
【发布时间】:2016-11-13 08:51:15
【问题描述】:
我是网络开发领域的新手。尝试在 Ubuntu 上设置 wordpress.org。
教程页面here指导:
sql> GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
我的计算机名称是“A”(静态主机名)。我应该用 A 替换上面的 localhost 还是本地主机也可以工作?
【问题讨论】:
标签:
mysql
linux
database
wordpress
ubuntu
【解决方案1】:
localhost 是解析为127.0.0.1 的域名,这是一个特殊的 IPv4 地址,它告诉您的链路层您正在尝试连接到自己的计算机。
这对于测试在互联网上运行的软件很有用。
当使用 localhost 作为地址时,最新的 MySQL 版本使用 Unix-domain-socket,它不使用底层网络协议,但所有通信都发生在 OS 内核本身.
奖金
- 不仅是 172.0.0.1,而且从 127.0.0.1 到 127.255.255.254 的所有数据包都会环回到您的计算机。
- 对于 IPv6:localhost 解析为 ::1。
【解决方案2】:
localhost 是从/etc/hosts 文件中设置的。不要更改localhost 名称,除非您阅读并了解您在做什么。这是-manual page for Ubuntu 16.04。打开/etc/hosts(或运行cat /etc/hosts),你会看到这样的条目:
127.0.0.1 localhost
我们实际上可以将其更改为:
127.0.0.1 localhost
127.0.0.1 example.com
并重新加载/重新启动。
安装 MySQL 后始终运行sudo mysql_secure_installation 命令。 Here is doc。始终遵循优秀教程网站的指南。请阅读MySQL Grant Docs。当您是新用户时,请使用 or WorkBench or PHPMyAdmin 而不是命令行。您应该 SQL 仅授予运行 WordPress 的基本权限。在这个命令上:
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
- wordpress = 使用难以猜测的名称,例如 wod678eB
- wordpressuser = 使用难以使用的用户名,例如 I0od678eB
- password = 使用难以猜测的名称,例如 78eBwod678eB
此 SQL 仅授予 Wordpress 运行所需的基本权限(更安全),而不是上述命令:
CREATE USER 'exampleuser'@'localhost' IDENTIFIED BY 'exampleP@ssw0rd';
CREATE DATABASE exampledatabase;
GRANT SELECT,DELETE,INSERT,UPDATE ON exampledatabase.* TO 'exampleuser'@'localhost';
FLUSH PRIVILEGES;