#YashanDB服务端安装(Docker)

# 步骤1:导入安装包

执行如下命令,导入安装包:

$ docker load -i yashandb-image-23.2.4.100-linux-x86_64.tar

导入完成后,可以使用docker images命令查看导入的镜像,回显信息如下:

$ docker images
REPOSITORY                                 TAG                                      IMAGE ID       CREATED        SIZE
yashandb                                   yashandb-image-23.2.4.100-linux-x86_64   2d27c4f55115   29 hours ago   912MB

# 步骤2:启动容器

执行如下命令,启动容器:

$ docker run -d -p 1688:1688 -v /home/yashan/yashandb:/data/yashan -e SYS_PASSWD=password --name yashandb yashandb:yashandb-image-23.2.4.100-linux-x86_64

容器运行相关参数说明:

参数名 参数描述
-d 后台运行容器
-p 指定容器端口映射,容器内暴露的端口号为1688
-v 指定在容器创建时将宿主机目录挂载到容器内
--name 指定容器名称
-e 指定环境变量

支持的环境变量如下:

参数名 参数描述
SYS_PASSWD sys用户的密码,默认为Cod-2022
DB_BLOCK_SIZE 数据块大小
YAS_{建库参数} 支持所有建库参数,格式为YAS_参数名(例如YAS_REDO_FILE_SIZE表示建库参数REDO_FILE_SIZE),此处配置过的参数建库后不可修改

# 步骤3:检查安装结果

执行如下命令,检查安装结果:

$ docker logs yashandb
init
host host0001 openssl version: OpenSSL 1.1.1l  24 Aug 2021
OpenSSL version is 1.1.1 or greater
host host0001 openssl version: OpenSSL 1.1.1l  24 Aug 2021
OpenSSL version is 1.1.1 or greater
 hostid   | group | node_type | node_name | listen_addr  | replication_addr | data_path               
------------------------------------------------------------------------------------------------------
 host0001 | dbg1  | db        | 1-1       | 0.0.0.0:1688 | 127.0.0.1:1689   | /data/yashan/yasdb_data 
----------+-------+-----------+-----------+--------------+------------------+-------------------------

Generate config completed
    REDO_FILE_SIZE = "128M"
host host0001 openssl version: OpenSSL 1.1.1l  24 Aug 2021
OpenSSL version is 1.1.1 or greater
checking install profile.toml...
install version: yashandb 23.2.4.24
update host to yasom...
 type | uuid             | name               | hostid | index    | status  | return_code | progress | cost 
------------------------------------------------------------------------------------------------------------
 task | cebb2746ef35401b | DeployYasdbCluster | -      | yashandb | SUCCESS | 0           | 100      | 33   
------+------------------+--------------------+--------+----------+---------+-------------+----------+------
task completed, status: SUCCESS

DeployYasdbCluster任务状态为SUCCESS时,表示数据库安装成功。

# 步骤4:连接数据库

  1. 执行如下命令,进入容器:

    $ docker exec -it yashandb /bin/bash
    
  2. 使用yasql工具连接数据库,查看实例状态。

    $ yasql sys/Cod-2023@0.0.0.0:1688
    YashanDB SQL Enterprise Edition Release 23.2.4.100 aarch64
    
    Connected to:
    YashanDB Server Enterprise Edition Release 23.2.4.100 aarch64 - Linux
    
    SQL> SELECT STATUS FROM V$INSTANCE;
    
    STATUS        
    ------------- 
    OPEN         
    
    
    SQL> SELECT database_name FROM v$database;
    
    DATABASE_NAME                                                    
    ---------------------------------------------------------------- 
    yashandb                                                        
    
    
    
  3. (可选)创建数据库用户并赋权,更多操作请查阅用户管理

    SQL> CREATE USER sales IDENTIFIED BY sales;
       
    SQL> GRANT CONNECT TO SALES;
    

# 附录:基于docker管理数据库

# 进入容器

$ docker exec -it yashandb /bin/bash

进入容器后,可使用yasqlyasboot等工具连接或管理数据库。

# 通过容器启停数据库

可以直接通过docker命令启停数据库集群,其效果等同于进入容器后再执行yasboot工具的启停相关命令。

  • 停止数据库

    $ docker stop yashandb
    
  • 启动数据库

    $ docker start yashandb
    
  • 重启数据库

    $ docker restart yashandb