[linux] kolla-ansible 部署的openstack 修改mariadb默认端口号

kolla-ansible 部署前修改global.yml

复制代码
#freezer_database_backend: "mariadb"
database_port: 9306
mariadb_port: 9306

如果已经部署成功,直接修改配置文件里的端口号重启是没有用的,怀疑内部做了缓存,查看openstack 使用的memcached,也没有什么结果,nova的所有服务与数据库交互的都报失败,打印日志发现,修改了配置,连接mysql端口仍然使用的3306,刚开始怀疑端口是不是没有从配置传下去,后来感觉,openstack不会犯这么sb的错误。本以为这个问题,几周了,也没收获了,算了,直到想想,还是再使劲定位下,打开了debug,所有与数据库交互的openstack都是直接调用的封装好的 oslo_db,在nova源码里搜索oslo

发现连接数据库用的缓存池,数据库的连接url原来是保存在一张表里。。。

还以为是个本地的sqlit数据库,没想到在nova_api数据库中果然存在这张cell_mappings映射信息表,直接修改了数据后,重启服务,db连接恢复正常。

openstack过于庞大,花了很多猜想,搜资料,本来用自己的经验去寻找答案,从来没想到过链接db时的url信息,保存在数据库里读取,做了缓存,就不从配置里读了。

复制代码
# 备份
cd /etc/kolla
sed -i "s/3306/9306/g" `grep 3306 -rl .`

navicat登录数据库,进入nova_api,修改表cell_mappings 字段database_connection内的端口号

systemctl restart docker
重启所有的服务
相关推荐
lucky-billy15 分钟前
Ubuntu 下一键部署 ROS2
linux·ubuntu·ros2
Thera77720 分钟前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
阿梦Anmory25 分钟前
Ubuntu配置代理最详细教程
linux·运维·ubuntu
云姜.39 分钟前
线程和进程的关系
java·linux·jvm
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊1 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
木卫二号Coding1 小时前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
getapi1 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19432 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法