这个问题听起来可能很愚蠢,但我通常只处理 MSSQL,不处理 LAMP,所以我很难弄清楚发生了什么。我有 Windows 7,并通过 Web 平台安装程序安装了 MySQL 5.1。
我安装了 HeidiSQL 来管理 MySQL 中的数据,但如何连接?Heidi 要求输入“主机名/IP”,其中预填充了 127.0.0.1。它将用户字段预填充为“root”(这是正确的),我输入的是安装 MySQL 时选择的密码。但是,当我连接时,它只是出错,提示:
SQL Error (1045): Access denied for user 'root'@'localhost' (using password: YES).
有人能给我指出正确的方向吗?
非常感谢...
答案1
MySQL 服务器要求您拥有有效的密码,并且客户端连接必须来自已告知 MySQL 服务器接受连接的主机。这两项均在 mysql 默认数据库的“用户”表中配置。安装 MySQL 时,它可能会提示您设置 root 密码。设置该密码后,您必须先以 root 身份登录服务器并添加其他 ACL 以允许您从其他站点进行连接。
您粘贴的内容表明您正在尝试使用 root 用户连接到本地计算机 (127.0.0.1),但 MySQL 用户拒绝输入密码。如果您尚未实际配置 root 密码,则密码可能为空(密码为空字段)。如果这不起作用,您可能需要使用 mysql 安装附带的脚本(如 mysql_secure_installation)来设置 root 密码。
如果任一方法失败,您可以使用 --skip-grant-tables 命令行选项启动 MySQL,以允许您自己无需凭据即可登录。请修复凭据,刷新权限,然后关闭 mysql 服务器并在完成此操作后正常重新启动它,因为 --skip-grant-tables 将允许任何人无需密码即可连接到服务器。