部署OMS时添加元数据库失败


先决条件:元数据库通过容器部署,root用户已允许远程连接,远程通过Navicat已测试连接。mysql容器与OMS容器时区设置一样。元数据库mysql版本:8.3.0
OMS跟mysql部署在同一台机器上,部署OMS时添加元数据库写物理IP一直显示元数据库连接失败,但是写127.0.0.1就可以通过,通过后一直正常下一步。

sudo报错然后查看生成docker_run_oms.sh脚本,将里面的sudo删除,手动创建容器

检查服务都正常:

手动进入容器执行docker_init.sh报错:

手动执行python -m omsflow.scripts.units.oms_init_manager --init-db后报错:

怀疑这里的127.0.0.1是不是应该改成宿主机物理IP

楼主改为宿主机物理IP 试试看

老师好,就是因为改成物理IP一直显示连接失败才改成的127 并且可以确定元数据库的远程连接是没有问题的。

不能是127.0.0.1 因为这个地址在容器内部就是指向oms容器内部,不是宿主机地址,应该正常设置元数据库的地址,如果不通应该排查一下是不是docker这边设置有问题

可使用下面办法排查一下:
sysctl net.ipv4.ip_forward
如果是设置是0的话,可以用下面的命令改一下
sudo vi /etc/sysctl.conf
sysctl -w net.ipv4.ip_forward=1
sysctl -p

好的,我测试一下,

您好,执行docker_init.sh报错:

排查发现OMS容器连接元数据库异常:
ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
修改元数据库登录验证策略:
mysql -uroot -p
Enter password:

mysql> ALTER USER ‘root’@’%’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘******’;
Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
返回OMS容器成功连接元数据库,执行sh docker_init.sh初始化成功:

想问下这个配置在哪里修改:
047FF165-C14E-4d42-8082-0C848554D2AB

修改系统参数
这个参数看下 migration.checker.params.normal

这个oms不能连mysql8,那么更改mysql8的密码校验方式,要么关掉密码校验。