访问拒绝用户'testing'@'%'到数据库'db'
我试图在云容器上运行mysql/mysql-server
docker镜像,以便从另一个运行另一个docker镜像和存储数据的容器进行连接,以及不在数据库中的数据库。
因此,阅读哪些环境variables在docker集线器上做了什么,我将下列variables设置为testing。
从其他泊坞窗镜像连接,应该工作,如果我configuration了一切,但是,日志说不然。
Access denied for user 'rolauser'@'%' to database 'test'
我试图连接到数据库的程序行如下。
conn.connect("test", "confidential.hostname.here", "rolauser", "testtesttest");
我正在使用libsqlpp
因为我在C ++中工作,但问题与该程序无关。
所以,我有一个什么可能会出错的想法。 经过一番研究,我发现SQL服务器区分了从不同主机login的用户。
我的想法是,通过环境variables设置用户和密码,SQL服务器可能只将这个信息分配给rolauser @ localhost
。 当我从运行服务器的容器外访问数据库时,我没有localhost
作为主机名,因此无法访问数据库。
我不知道还有什么可能会出错。 我知道我可以尝试构build我自己的映像,在容器启动时运行自定义init文件,以便手动为通配符主机名创build数据库,用户和密码,但是我想知道我在做什么错误去寻求一个不同的解决scheme。