我试图在我拥有的云容器上运行mysql/mysql-server
泊坞窗映像,以便从运行另一个泊坞窗映像的另一个容器连接并存储数据,而不是数据库中的数据,正常。
因此,在docker hub读取哪些环境变量时,我将以下变量设置为测试。
如果我配置了所有内容,则应该从其他docker镜像连接,但是,日志会另外说明。
Access denied for user 'rolauser'@'%' to database 'test'
尝试连接数据库的程序行如下。
conn.connect("test", "confidential.hostname.here", "rolauser", "testtesttest");
我正在使用libsqlpp
,因为我在C ++工作,但问题与该程序无关。
所以,我知道可能出现的问题。在做了一些研究后,我发现SQL服务器区分了从不同主机登录的用户。
我的想法是,通过环境变量设置用户和密码,SQL服务器可能只将此信息分配给rolauser @ localhost
。当我从运行服务器的容器外部访问数据库时,我没有localhost
作为我的主机名,因此无法访问数据库。
我不知道还有什么可能出错。我知道我可以尝试构建自己的映像,在容器启动时运行自定义初始化文件,手动创建通配符主机名的数据库,用户和密码,但我想知道我是什么&#39 ;先做错了,而不是寻找不同的解决方案。