我正在尝试对我创建的Docker MySQL映像进行root访问。我为ROOT_PASSWORD和DATABASE放置了环境变量,因此我确定密码确实存在,并且能够使用命令行访问root。问题在于尝试使用MySQLWorkbench或SequelPro访问root。我将主机名设置为localhost,用户设置为root,端口设置为3307(运行命令创建数据库时,我已将此端口映射)。尝试连接时出现错误
“您的连接尝试失败,用户'root'到位于localhost:3307的MySQL服务器: 不允许主机连接到该MySQL服务器”
我尝试将端口号更改为3306,将IP也更改为127.0.0.1,但错误不会消失。我检查了一个GitHub帖子,该帖子建议root用户应将“%”作为主机,并且可以通过更改我的bind-address来实现。问题是我找不到mysql.cnf配置文件...我什至都不认为我的系统上存在该文件
答案 0 :(得分:0)
一种获取访问权限的肯定方法是:
docker inspect mysql_container_name
查找IP地址。
然后您可以使用类似的内容:
mysql -u root -p -h <docker container ip address>
其他一些注意事项:
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
有关更多信息,请参见此处: https://docs.docker.com/samples/library/mysql/