前言
cockroach,蟑螂数据库。
1. 启动
-
创建cockroachdb目录,进入该目录
-
创建docker-compose.yml文件,内容如下:
version: '3'
services:
pgweb:
image: cockroachdb/cockroach:latest
container_name: cockroach
command: start-single-node --insecure
ports:
- "8080:8080"
- "26257:26257"
volumes:
- ./cockroach-data:/cockroach/cockroach-data
restart: always
- 准备镜像(非必要)
[root@iot-svc-test92XR6W liuwei]# docker-compose pull
Pulling pgweb ... done
pgweb
?,大概率又是一个套壳子的国产数据库……我们接下来继续安装
- 启动服务
[root@dev-liubei cockroach]# docker-compose up -d
- 查看结果
[root@dev-liubei cockroach]# docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------------
cockroach /cockroach/cockroach.sh st ... Up 0.0.0.0:26257->26257/tcp, 0.0.0.0:8080->8080/tcp
2. 管理页面
访问8080端口如下:
3. 命令行登录
- 进入容器后执行如下命令:
[root@dab055a12307 cockroach]# cockroach sql --insecure --host=127.0.0.1 --port=26257
#
# Welcome to the CockroachDB SQL shell.
# All statements must be terminated by a semicolon.
# To exit, type: \q.
#
# Server version: CockroachDB CCL v23.1.8 (x86_64-pc-linux-gnu, built 2023/08/04 18:11:44, go1.19.10) (same version as client)
# Cluster ID: 50832b46-07ac-4625-a8b1-1ee6b5b2a96b
#
# Enter \? for a brief introduction.
#
root@127.0.0.1:26257/defaultdb> show databases;
database_name | owner | primary_region | secondary_region | regions | survival_goal
----------------+-------+----------------+------------------+---------+----------------
defaultdb | root | NULL | NULL | {} | NULL
postgres | root | NULL | NULL | {} | NULL
system | node | NULL | NULL | {} | NULL
(3 rows)
Time: 6ms total (execution 6ms / network 0ms)
- 命令行sql
既然postgres的名字都看见了,我们试试pg的sql,应该是都可以执行的:
root@127.0.0.1:26257/postgres> create database xishu;
CREATE DATABASE
Time: 10ms total (execution 9ms / network 0ms)
root@127.0.0.1:26257/postgres> \c xishu
using new connection URL: postgresql://root@127.0.0.1:26257/xishu?application_name=%24+cockroach+sql&connect_timeout=15&sslmode=disable
root@127.0.0.1:26257/xishu> CREATE TABLE users(
-> ID INT PRIMARY KEY NOT NULL,
-> name CHAR(50) NOT NULL,
-> mail CHAR(50),
-> phone CHAR(50)
-> );
CREATE TABLE
Time: 12ms total (execution 11ms / network 0ms)
root@127.0.0.1:26257/xishu> \d
List of relations:
Schema | Name | Type | Owner | Table
---------+------------+-------+-------+--------
public | users | table | root | NULL
public | users_pkey | index | root | users
(2 rows)
嗯,果然还是pg