
####restart 容器 ip不要变动,不然会提示172.17.0.7连接失败######

一、oceanbase安装
--memory=6g \
--ulimit nofile=20000:20000 \
1、宿主机上执行
# 1. 修改系统 limits 配置
echo -e "* soft nofile 20000\n* hard nofile 20000" >> /etc/security/limits.d/nofile.conf
# 2. 检查 PAM 配置(确保 limits 生效)
grep -q "UsePAM yes" /etc/ssh/sshd_config || sed -i 's/#UsePAM yes/UsePAM yes/' /etc/ssh/sshd_config
# 3. 重启 SSH 服务
systemctl restart sshd
# 4. 重新登录使配置生效(必须重新登录或新开终端)
exit
ulimit -n
# 应该显示 20000
2、容器oceanbase-mini
# 先彻底清理
docker rm -f oceanbase-mini
rm -rf /data/oceanbase
mkdir -p /data/oceanbase/ob
mkdir -p /data/oceanbase/obd
docker run -d \
--name oceanbase-mini \
-p 2881:2881 -p 8080:8080 \
-e MINI_MODE=true \
-e OB_ROOT_PASSWORD=root \
-v /data/oceanbase/ob:/root/ob \
-v /data/oceanbase/obd:/root/.obd \
--memory=6g \
--ulimit nofile=20000:20000 \
oceanbase/oceanbase-ce
注意加了 --ulimit nofile=20000:20000,让容器继承宿主机的文件描述符限制。

3、进入容器
docker exec -it oceanbase-mini bash
# 销毁旧的 OBD 配置(不删数据)
obd cluster destroy obcluster
# 重新部署
obd cluster deploy obcluster
obd cluster start obcluster
或者查看 OBD 部署状态
obd cluster list

obd cluster start obcluster
若出现如下问题

vi /root/.obd/cluster/obcluster/config.yaml



memory_limit 调整为2G
配置文件config.yaml修改后
####执行系统参数自动优化
obd cluster init4env obcluster
#####重新启动集群
obd cluster start obcluster

4、
进入容器
docker exec -it oceanbase-mini bash
查看root密码
# 查看 OBD 配置中的密码


5、连接

二、最干净的方案:不挂载 OBD 卷,完全全新启动
# 1. 删掉退出的容器
docker rm -f oceanbase-mini
# 2. 清空数据目录(测试环境旧数据没用)
rm -rf /data/oceanbase/ob/*
rm -rf /data/oceanbase/obd 2>/dev/null
######注意 rm -rf /data/oceanbase/ob/* # ← 这会清空所有数据,密码重置
# 3. 确认空了
ls -la /data/oceanbase/ob/
# 4. 重新启动(数据目录干净,OB_ROOT_PASSWORD 这次会生效)
yes | docker run -d --name oceanbase-mini \
-p 2881:2881 \
-e MINI_MODE=true \
-e OB_ROOT_PASSWORD=Root@123456 \
-v /data/oceanbase/ob:/root/ob \
--ulimit nofile=655350:655350 \
--ulimit stack=-1:-1 \
oceanbase/oceanbase-ce
# 5. 等 3 分钟,确认容器在跑 + 2881 在监听
sleep 180
docker ps | grep oceanbase-mini
docker exec oceanbase-mini ss -tlnp | grep 2881
####sleep 180 && docker logs --tail 30 oceanbase-mini





docker exec -it oceanbase-mini obclient -h 127.0.0.1 -P 2881 -u root@sys -e "SELECT 1"


# 1. 改成强密码
docker exec -it oceanbase-mini obclient -h 127.0.0.1 -P 2881 -u root@sys -e "ALTER USER root IDENTIFIED BY 'Root@123456';"
# 2. 验证新密码能登录
docker exec -it oceanbase-mini obclient -h 127.0.0.1 -P 2881 -u root@sys -pRoot@123456 -e "SELECT 1"

三、用docker restart或docker stop+docker start,不删容器:
docker restart oceanbase-mini
####restart 容器 ip不要变动,不然会提示172.17.0.7连接失败######
# 等 1 分钟
sleep 60 && docker exec oceanbase-mini ss -tlnp | grep 2881
#####验证登录验证###########oceanbase重启初始化需要时间,请耐心等待#######################################
docker exec -it oceanbase-mini obclient -h 127.0.0.1 -P 2881 -u root@sys -pRoot@123456 -e "SELECT 1"

浙公网安备 33010602011771号