#单机主备部署

执行安装部署前,请以yashan用户登录192.168.1.2服务器,并进入/home/yashan/install安装目录。

$ cd /home/yashan/install

# 单节点部署

# Step1:生成部署文件

  1. 执行yasboot package命令生成配置文件,命令详细参数可查阅yasboot

    其中,--cluster指定为要部署的数据库集群名称,该名称也将作为集群中所有节点上初始创建数据库的名称(database name),--port指定SSH服务端口,--install-path指定数据库安装路径,--data-path指定数据存放目录,--begin-port指定数据库监听端口。

$ ./bin/yasboot package se gen --cluster yashandb -u yashan -p password --ip 192.168.1.2 --port 22 --install-path /data/yashan/yasdb_home  --data-path /data/yashan/yasdb_data --begin-port 1688

Note:

如需安装可开启CPU资源管理的单机数据库(非级联备),可同时参考CPU资源管理章节。

  1. 上一步骤执行完毕后,当前目录下将生成yashandb.toml和hosts.toml两个配置文件,yashandb.toml为数据库集群的配置文件,hosts.toml为主机的配置文件,可手动修改,但不建议删除文件中任何行,否则可能导致后续安装过程报错,或者所搭建的环境后续无法进行扩展配置。
-rw-------. 1 yashan yashan       444 Aug 31 16:27 hosts.toml
-rw-------. 1 yashan yashan       708 Aug 31 16:27 yashandb.toml
  1. 依据企业实际需要调整yashandb.toml配置文件中的安装参数。其中,可在group级别设置YashanDB的所有建库参数,在node级别设置YashanDB的所有配置参数
# 以下内容以实际展示结果为准
cluster = "yashandb" # 安装后修改也不会生效,除非重新安装
create_simple_schema = false # 为true部署完会执行示例的sql,若改为true需要在deploy时指定sys-password参数
uuid = "64f04f0e999c72db72bd565762e6a4ea" # 系统自动生成,不建议修改
yas_type = "SE" # 部署模式,安装后修改也不会生效,除非重新安装

[[group]]
  group_type = "db" # 安装后修改也不会生效,除非重新安装
  name = "dbg1" # 安装后修改也不会生效,除非重新安装
  [group.config] # 可配置所有建库参数,不配置时采用默认值
    CHARACTER_SET = "utf8"
    ISARCHIVELOG = true
    REDO_FILE_NUM = 4
    REDO_FILE_SIZE = "128M"

  [[group.node]]
    data_path = "/home/yashan/yasdb_data" # 为DATA目录,安装后修改也不会生效,除非重新安装
    hostid = "host0001" # 安装后修改也不会生效,除非重新安装
    role = 1    # 数据库主备角色,安装后修改也不会生效,除非重新安装
    [group.node.config] # 可配置所有数据库参数,不配置时采用默认值,安装后修改可以生效(只读参数不可修改)
      LISTEN_ADDR = "192.168.1.2:1688"
      REPLICATION_ADDR = "192.168.1.2:1689"
      RUN_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/23.1.0.2/log/yashandb/db-1-1/run"
      RUN_LOG_LEVEL = "INFO"
      SLOW_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/23.1.0.2/log/yashandb/db-1-1/slow"

# Step2:执行安装

$ ./bin/yasboot package install -t hosts.toml -i yashandb-23.1.0.2-linux-x86_64.tar.gz 

# Step3:数据库部署

  1. 执行部署命令。
$ ./bin/yasboot cluster deploy -t yashandb.toml
  1. 生效环境变量(此步骤需以yashan用户登录到每个节点上执行)。
# 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
$ cd /data/yashan/yasdb_home/yashandb/23.1.0.2/conf
# 如~/.bashrc中已存在YashanDB相关的环境变量,将其清除

$ cat yashandb.bashrc >> ~/.bashrc
$ source ~/.bashrc

如需使用外置UDF(JAVA),请配置如下环境变量。

# 如下路径需更换为实际的jdk安装路径
export LD_LIBRARY_PATH=/etc/jdk-18.0.2/lib/server:$LD_LIBRARY_PATH

# Step4:修改sys用户口令

YashanDB不提供系统初始口令,请通过yasboot工具设置集群内所有节点sys用户的密码。

$ cd /home/yashan/install
$ ./bin/yasboot cluster password set -n newpasswd -c yashandb

# Step5:验证安装是否成功

  1. 执行查看数据库状态命令。
$ ./bin/yasboot cluster status -c yashandb -d
hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address | data_path                                       
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0001 | db        | 1-1:1  | 54814 | open            | normal          | primary       | 192.168.1.2:1688 | /data/yashan/yasdb_data/db-1-1
  1. 使用yasboot工具连接数据库,查看实例状态。
$ ./bin/yasboot sql -d sys/password@192.168.1.2:1688
SQL> SELECT STATUS FROM V$INSTANCE;

STATUS        
------------- 
OPEN        

SQL> SELECT database_name FROM v$database;

DATABASE_NAME                                                    
---------------------------------------------------------------- 
yashandb     

如连接报错,或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。

# Step6:创建数据库用户(可选)

使用yasql工具连接数据库并创建sales用户。

$ ./bin/yasql sys/password@192.168.1.2:1688
SQL> CREATE USER sales IDENTIFIED BY sales;

SQL> GRANT CONNECT TO SALES;

# 高可用部署

# Step1: 生成部署文件

  1. 执行yasboot package命令生成配置文件,命令详细参数可查阅yasboot

    其中,--cluster指定为要部署的数据库集群名称,该名称也将作为集群中所有节点上初始创建数据库的名称(database name),--port指定SSH服务端口,--install-path指定数据库安装路径,--data-path指定数据存放目录,--begin-port指定数据库监听端口,--node指定主备节点总数量。

 $ ./bin/yasboot package se gen --cluster yashandb -u yashan -p password --ip 192.168.1.2,192.168.1.3,192.168.1.4 --port 22  --install-path /data/yashan/yasdb_home  --data-path /data/yashan/yasdb_data --begin-port 1688 --node 3

Note:

如需安装可开启CPU资源管理的单机数据库(非级联备),可同时参考CPU资源管理章节。

  1. 上一步骤执行完毕后,当前目录下将生成yashandb.toml和hosts.toml两个配置文件,yashandb.toml为数据库集群的配置文件,hosts.toml为主机的配置文件,可手动修改,但不建议删除文件中任何行,否则可能导致后续安装过程报错,或者所搭建的环境后续无法进行扩展配置。
 -rw-------. 1 yashan yashan       444 Aug 31 16:27 hosts.toml
 -rw-------. 1 yashan yashan       708 Aug 31 16:27 yashandb.toml
  1. 依据企业实际需要调整yashandb.toml配置文件中的安装参数。其中,可在group级别设置YashanDB的所有建库参数,在node级别设置YashanDB的所有配置参数
# 以下内容以实际展示结果为准
cluster = "yashandb" # 安装后修改也不会生效,除非重新安装
create_simple_schema = false # 为true部署完会执行示例的sql,若改为true需要在deploy时指定sys-password参数
uuid = "64f04f0e999c72db72bd565762e6a4ea" # 系统自动生成,不建议修改
yas_type = "SE" # 部署模式,安装后修改也不会生效,除非重新安装

[[group]]
  group_type = "db" # 安装后修改也不会生效,除非重新安装
  name = "dbg1" # 安装后修改也不会生效,除非重新安装
  [group.config] # 可配置所有建库参数,不配置时采用默认值
    CHARACTER_SET = "utf8"
    ISARCHIVELOG = true
    REDO_FILE_NUM = 4
    REDO_FILE_SIZE = "128M"

  [[group.node]]
    data_path = "/home/yashan/yasdb_data" # 为DATA目录,安装后修改也不会生效,除非重新安装
    hostid = "host0001" # 安装后修改也不会生效,除非重新安装
    role = 1    # 数据库主备角色,安装后修改也不会生效,除非重新安装
    [group.node.config] # 可配置所有数据库参数,不配置时采用默认值,安装后修改可以生效(只读参数不可修改)
      LISTEN_ADDR = "192.168.1.2:1688"
      REPLICATION_ADDR = "192.168.1.2:1689"
      RUN_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/23.1.0.2/log/yashandb/db-1-1/run"
      RUN_LOG_LEVEL = "INFO"
      SLOW_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/23.1.0.2/log/yashandb/db-1-1/slow"


  [[group.node]]
       data_path = "/home/yashan/yasdb_data"
       hostid = "host0002"
       role = 2
       [group.node.config]
         LISTEN_ADDR = "192.168.1.3:1688"
         REPLICATION_ADDR = "192.168.1.3:1689"
         RUN_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/23.1.0.2/log/yashandb/db-1-2/run"
         RUN_LOG_LEVEL = "INFO"
         SLOW_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/23.1.0.2/log/yashandb/db-1-2/slow"
  
  [[group.node]]
    data_path = "/home/yashan/yasdb_data"
    hostid = "host0003"
    role = 2
    [group.node.config]
      LISTEN_ADDR = "192.168.1.4:1688"
      REPLICATION_ADDR = "192.168.1.4:1689"
      RUN_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/23.1.0.2/log/yashandb/db-1-3/run"
      RUN_LOG_LEVEL = "INFO"
      SLOW_LOG_FILE_PATH =  "/home/yashan/yasdb_home/yashandb/23.1.0.2/log/yashandb/db-1-3/slow"

请参考数据库配置调优和自身环境配置调整上述参数。如所安装环境为高可用的Raft集群(自动选举),还需参考高可用

# Step2: 执行安装

$ ./bin/yasboot package install -t hosts.toml -i yashandb-23.1.0.2-linux-x86_64.tar.gz 

# Step3: 数据库部署

  1. 执行部署命令。
$ ./bin/yasboot cluster deploy -t yashandb.toml
  1. 生效环境变量(此步骤需以yashan用户登录到每个节点上执行)。
# 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
$ cd /data/yashan/yasdb_home/yashandb/23.1.0.2/conf
# 如~/.bashrc中已存在YashanDB相关的环境变量,将其清除

$ cat yashandb.bashrc >> ~/.bashrc
$ source ~/.bashrc

# Step4: 修改sys用户口令

YashanDB不提供系统初始口令,请通过yasboot工具设置集群内所有节点sys用户的密码。

$ ./bin/yasboot cluster password set -n newpasswd -c yashandb

# Step5:验证安装是否成功

  1. 执行查看数据库状态命令。
$ ./bin/yasboot cluster status -c yashandb -d
hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address | data_path                                       
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0001 | db        | 1-1:1  | 54814 | open            | normal          | primary       | 192.168.1.2:1688 | /data/yashan/yasdb_data/db-1-1
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
host0002 | db        | 1-2:2  | 54815 | open            | normal          | standby       | 192.168.1.3:1688 | /data/yashan/yasdb_data/db-1-2
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
host0003 | db        | 1-3:3  | 54816 | open            | normal          | standby       | 192.168.1.4:1688 | /data/yashan/yasdb_data/db-1-3
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
  1. 使用yasboot工具连接数据库,查看实例状态。
$ ./bin/yasboot sql -d sys/password@192.168.1.2:1688
SQL> SELECT STATUS FROM V$INSTANCE;

STATUS        
------------- 
OPEN        

SQL> SELECT database_name FROM v$database;

DATABASE_NAME                                                    
---------------------------------------------------------------- 
yashandb     

如连接报错,或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。

# Step6:创建数据库用户(可选)

使用yasql工具连接数据库并创建sales用户。

$ ./bin/yasql sys/password@192.168.1.2:1688
SQL> CREATE USER sales IDENTIFIED BY sales;

SQL> GRANT CONNECT TO SALES;