在 Go 中连接 MySQL 数据库时出现 “Access denied for user ‘root’@‘localhost’” 错误,可能是以下几个原因导致:
用户名或密码错误:请确保使用正确的用户名(如 ‘root’)和相应的密码进行连接。
MySQL 服务器未启动:检查 MySQL 服务器是否已启动。您可以尝试通过命令行或服务管理工具启动 MySQL。
主机权限限制:MySQL 用户的主机权限可能限制了从 localhost 连接。您可以使用 GRANT 命令为用户授予适当的权限,例如:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; FLUSH PRIVILEGES;端口号错误:默认情况下,MySQL 使用端口号3306进行通信。如果您的 MySQL 配置使用了其他端口,请确保在连接字符串中指定了正确的端口号。
防火墙设置:检查本地防火墙是否允许从您的应用程序到达 MySQL 服务器的流量。需要确认防火墙规则允许通过指定的端口连接到数据库服务器。
请根据实际情况逐一排查以上问题,并尝试解决它们。如果问题仍然存在,请提供更多详细信息,例如代码示例、操作系统、Go 和 MySQL 版本等,以便更好地帮助您解决问题。
内容由零声教学AI助手提供,问题来源于学员提问




