OceanBase 单机安装与配置指南

高性能分布式数据库的单机部署方案

安装指南
配置说明
验证测试
系统要求
1 硬件要求
  • CPU: 4核及以上(推荐8核)
  • 内存: 至少16GB(推荐32GB)
  • 磁盘: 至少100GB SSD(推荐200GB以上)
2 软件依赖
  • CentOS 7/8 或兼容Linux发行版
  • Python 2.7 或 3.x
  • GCC 4.8.5 或更高版本
  • CMake 2.8.12 或更高版本
安装步骤
1 安装依赖
# CentOS/RHEL sudo yum install -y git cmake make gcc gcc-c++ autoconf libtool bison ncurses-devel zlib-devel openssl-devel # Ubuntu/Debian sudo apt-get update sudo apt-get install -y git cmake make gcc g++ autoconf libtool bison ncurses-dev zlib1g-dev libssl-dev
2 下载OceanBase
# 从阿里云镜像下载社区版 wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/oceanbase-ce-3.1.4-10000392021123010.el7.x86_64.rpm # 或者使用Docker docker pull oceanbase/oceanbase-ce
建议下载最新稳定版本,可以从OceanBase GitHub仓库获取
3 安装OceanBase
# 安装RPM包 sudo rpm -ivh oceanbase-ce-*.rpm # 或者使用Docker运行 docker run -p 2881:2881 --name oceanbase -e MINI_MODE=1 -d oceanbase/oceanbase-ce
安装完成后,OceanBase默认会安装在/usr/oceanbase目录下
基本配置
1 初始化环境
# 创建工作目录 mkdir -p /home/oceanbase/{data,clog,slog,etc} chown -R oceanbase:oceanbase /home/oceanbase # 设置环境变量 echo 'export OBCE_HOME=/usr/oceanbase' >> ~/.bashrc echo 'export PATH=$PATH:$OBCE_HOME/bin' >> ~/.bashrc source ~/.bashrc
2 启动OceanBase
# 单机模式启动 cd $OBCE_HOME/bin ./observer -p 2881 -P 2882 -z zone1 -n obtest -d /home/oceanbase/data -i lo -l info -o "memory_limit=8G,system_memory=4G,datafile_size=50G"
参数说明: -p: MySQL协议端口 -P: RPC端口 -z: 区域名称 -n: 集群名称 -d: 数据目录 -i: 网络接口
安全配置
1 修改默认密码
# 连接OceanBase mysql -h127.0.0.1 -P2881 -uroot -p # 修改root密码 ALTER USER root IDENTIFIED BY 'YourNewPassword';
生产环境务必修改默认密码,并设置复杂密码策略
2 创建应用用户
# 创建业务用户 CREATE USER 'app_user'@'%' IDENTIFIED BY 'AppPassword123'; GRANT ALL PRIVILEGES ON *.* TO 'app_user'@'%'; FLUSH PRIVILEGES;
验证安装
1 检查服务状态
# 检查进程 ps -ef | grep observer # 检查端口 netstat -tulnp | grep 2881
2 连接测试
# 使用MySQL客户端连接 mysql -h127.0.0.1 -P2881 -uroot -p # 执行测试SQL SHOW DATABASES; SELECT @@version;
3 创建测试数据
# 创建测试数据库 CREATE DATABASE test_db; USE test_db; # 创建测试表 CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); # 插入测试数据 INSERT INTO users(id, name) VALUES(1, 'OceanBase Test'); # 查询数据 SELECT * FROM users;
如果以上操作都能正常执行,说明OceanBase已成功安装并运行