我参照github polardbx-sql里的请问是我忽略了什么问题,还是最新版本已不再适用?是否[阿里云PolarDB]

我参照github polardbx-sql里的quickstart-how-to-debug-cn.md文件,使用docker启动最新版本polardbx/polardb-x的开发环境。但之后使用root账户连接mysql获取metaDbPasswd被拒绝。polardbx/polardb-x:2.0.1版本是可以正常获取密码的。请问是我忽略了什么问题,还是最新版本已不再适用?是否有解决办法?谢谢大家? 第一个图是在容器内的。第二个图里第二个容器是最新版本的,映射是和启动时指定的一致

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  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 开源交流群”

  2. 可能是新版本的 polardbx/polardb-x 没有启动 metad 服务。同时注意到你在 /etc/my.cnf 里配置了 datadir=/var/lib/mysql, 但是输入命令后的报错信息的路径是 /mydata/polarx/node/mysql/data

    因此,建议按以下步骤排查:

    1. 首先检查一下你是否启动了 metad 服务。可以使用 docker logs 查看 polardbx-meta 容器内的日志信息来排查。

    2. 如果确实启动了 metad 服务,可以尝试将 /etc/my.cnf 中的 datadir=/var/lib/mysql 改为 datadir=/mydata/polarx/node/mysql/data,然后重启 polardbx/polardb-x 容器,看一下是否能够正常获取 metaDbPasswd

    3. 如果以上办法都不行,可以再看看之前启动的 polardbx/polardb-x:2.0.1 版本容器,看一下在这个版本的容器中 /etc/my.cnf 的配置是怎么写的。以及这个版本的容器内 metad 服务是否启动了。这些信息可以帮助你排查问题。