Mysql用户'root'@'localhost'访问被拒绝(使用密码:NO)When Running go run main.go

mjqavswn  于 2023-03-27  发布在  Go
关注(0)|答案(1)|浏览(166)

我试图在我的机器上运行一个专用服务器,但MySQL(我相信)给了我一个需要密码的错误。
我正在研究Unity专用服务器套件
https://www.gamevanillawiki.com/ccg-kit/manual/dedicated-server-kit/
除了最后一步,我已经把所有的步骤都弄清楚了,这显然意味着我应该运行“go,run,main.go”,但是如果我运行它,我会得到标题中的错误
C:\ccg-kit-dedicated-server\dsk〉go run main.go ERROR 2023/03/22 17:50:32 main.go:46:错误1045:拒绝用户'root'@'localhost'的访问(使用密码:否)退出状态1
工具包的开发者说这个错误与MySQL有关,对我没有帮助,我不知道如何解决这个问题,当我从工作台运行MySQL时,我输入了密码,服务器正在运行,但这就像Go语言试图在没有密码的情况下访问Mysql服务器一样?
我甚至不能从cmd访问MySQL,我甚至把它添加到我的环境变量中,但它总是给我一个未知的命令错误。
有人知道如何解决这个问题吗?对不起,我对MySQL,Go和此类服务器的知识有限......我准备放弃并将项目转换为Photon,但问题是有很多代码需要从Mirror更改为Photon。

rdrgkggo

rdrgkggo1#

文档中的一个页面(https://www.gamevanillawiki.com/dedicated-server-kit/demo-setup/)显示了您应该编辑的config.json的示例。
该配置文件中的一行如下:

"db_connection_string": "root:@tcp(127.0.0.1:3306)/dsk",

Go通常使用遵循以下格式的db连接字符串格式(参考:https://github.com/go-sql-driver/mysql#dsn-data-source-name):

<username>:<password>@<protocol>(<address>:<port>)/<schemaname>

文档页面中的示例只显示了用户名和密码root:,因此示例数据库连接字符串没有密码。
您需要编辑这个config.json文件,指定MySQL用户,并在:@之间添加该用户的密码。
协议、地址和端口可能是正确的。如果您在运行Go应用程序的服务器之外的其他服务器上运行数据库,请更改IP地址。

相关问题