我参照github polardbx-sql里的quickstart-how-to-debug-cn.md文件,使用docker启动最新版本polardbx/polardb-x的开发环境。但之后使用root账户连接mysql获取metaDbPasswd被拒绝。polardbx/polardb-x:2.0.1版本是可以正常获取密码的。请问是我忽略了什么问题,还是最新版本已不再适用?是否有解决办法?谢谢大家? 第一个图是在容器内的。第二个图里第二个容器是最新版本的,映射是和启动时指定的一致
使用root账户连接mysql获取metaDbPasswd被拒绝 这个报错能发下吗,容器里 ps -ef 看下 mysqld 进程起来了没有,顺便看下 docker ps -a 的端口映射情况呢https://github.com/polardb/polardbx/tree/main/docker#%E5%9C%BA%E6%99%AF3-%E5%9F%BA%E4%BA%8E-polardbx-sql-%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91可以参考下这个文档呢,在容器内可以 mysql -h127.1 -P4886 -uroot 连进去,不需要密码的,此回答整理自钉群“阿里云 PolarDB-X 开源交流群”
可能是新版本的 polardbx/polardb-x
没有启动 metad
服务。同时注意到你在 /etc/my.cnf
里配置了 datadir=/var/lib/mysql
, 但是输入命令后的报错信息的路径是 /mydata/polarx/node/mysql/data
。
因此,建议按以下步骤排查:
首先检查一下你是否启动了 metad
服务。可以使用 docker logs 查看 polardbx-meta
容器内的日志信息来排查。
如果确实启动了 metad
服务,可以尝试将 /etc/my.cnf
中的 datadir=/var/lib/mysql
改为 datadir=/mydata/polarx/node/mysql/data
,然后重启 polardbx/polardb-x
容器,看一下是否能够正常获取 metaDbPasswd
。
如果以上办法都不行,可以再看看之前启动的 polardbx/polardb-x:2.0.1
版本容器,看一下在这个版本的容器中 /etc/my.cnf
的配置是怎么写的。以及这个版本的容器内 metad
服务是否启动了。这些信息可以帮助你排查问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。