引自免费微信小程序:皆我百晓生
针对你遇到的问题,让我们逐一分析并尝试解决:
问题 a: 为什么用自定义的用户名和主机登录不上?
在 MySQL 中,用户账户是与主机名绑定的。当你尝试使用 richer
用户从 localhost
或 www.admin.test
登录时,你可能遇到了权限问题,因为 richer
用户可能只被授权从特定主机访问。
解决方案 a:
确保 richer
用户有正确的权限从 localhost
和 www.admin.test
访问数据库。你需要在 MySQL 中检查和设置用户的权限。
步骤 1: 登录 MySQL 作为 root 用户
mysql -u root -p
步骤 2: 检查 richer
用户的权限
SELECT User, Host FROM mysql.user WHERE User = 'richer';
步骤 3: 如果 richer
用户没有正确的权限,重新授予
GRANT ALL PRIVILEGES ON *.* TO 'richer'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'richer'@'www.admin.test' IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;
问题 b: 为什么错误提示显示的是 localhost?
当从命令行工具连接到 MySQL 数据库时,默认连接方式是通过 Unix socket 文件,这通常等同于 localhost
。即使你指定了不同的主机名,MySQL 仍可能尝试通过 localhost
连接,特别是如果你的主机名未正确解析或配置。
解决方案 b:
确保你的 DNS 或 hosts 文件正确解析 www.admin.test
到 127.0.0.1
或正确的 IP 地址,并且在 MySQL 中 richer
用户有从该主机访问的权限。
问题 c: MySQL 是否只能用 root 登录?
不是的。MySQL 允许创建多个用户,并为每个用户分配不同的权限。root
用户具有最高权限,但你完全可以使用其他用户登录,只要这些用户拥有足够的权限。
问题 d: 如何用自定义用户名和主机登录?
确保你已经按照上述步骤设置了正确的权限,并且你的 hosts 文件或 DNS 设置正确解析 www.admin.test
。然后,你应该能够使用以下命令登录:
mysql -u richer -h www.admin.test -p
输入密码后,你应该可以成功登录。
最后的建议
- 确保 XAMPP 控制面板中的 MySQL 和 Apache 服务运行正常。
- 检查你的防火墙设置,确保没有阻止 MySQL 的端口(默认为 3306)。
- 确认你的
www.admin.test
域名在所有相关系统上都解析正确。
遵循以上步骤,你应该能够解决登录问题。如果仍有疑问,进一步检查 MySQL 日志文件可能会提供额外的线索。