使用mariaex连接MariaDB时遇权限拒绝错误求助
问题原因
你的代码里读取数据库配置时用了:alaaarmo作为应用名,但配置文件里是给:myapp应用配置的数据库参数,导致根本没读到正确的用户名和密码。Mariaex在缺少user配置项时,会默认使用当前系统用户名(也就是你的'maurycy')尝试连接数据库,这就触发了权限拒绝错误。
而终端命令能成功,是因为你明确指定了-u user参数,直接用正确的用户名连接,不受配置错误影响。
修复步骤
- 修正配置读取的应用名
把application.ex里的:alaaarmo改成:myapp,确保能读取到正确的数据库配置:db_conf = Application.get_env(:myapp, :db) |> Keyword.put(:name, DB) - 验证配置加载结果(可选)
可以在代码里加一行打印,确认配置是否正确读取:
启动应用后查看控制台输出,确认db_conf = Application.get_env(:myapp, :db) |> Keyword.put(:name, DB) |> IO.inspect(label: "Loaded DB Config")user字段是"user"而不是"maurycy"。 - 重启应用
修正后重启应用,数据库连接应该就能正常建立了。
内容的提问来源于stack exchange,提问作者mszmurlo
相关产品推荐
相关产品推荐

