数据库启动参数
📄字数 5.5K
👁️阅读量 加载中...
注意
单横线+单词组合的参数方式,将在下一个主版本的内核中弃用,建议使用双横线+单词的参数方式
一、数据库信息查看
XuguDB Server可执行程序支持通过命令行选项查看软件版本、软件编译环境、软件部署路径等基础信息,使用该类选项启动数据库可执行程序,程序会输出对应信息并自动终止。
1.1 --help | -h | -?
输出帮助信息。
1.1.1 示例
shell
$ ./xugu_linux_x86_64_20250619 --help
Usage:
xugu_linux_x86_64_20250619 [options ...]
General ptions:
--help |-h |-? Print the help information and exit.
--version |-v Show the version info and exit.
--kernel-version Show the kernel version info and exit.
--build-info Show the compilation info and exit.
--start-path Show program startup path and exit.
Boot options:
--child |-child Run the program in foreground mode.
--server |-server Run the program in background mode.
--daemon |-daemon Run the program in daemon mode.
Init options:
--init-setup Generate system config files and exit.
--init-cluster Generate 'cluster.ini' template and exit.
--reload-package Reload system packages.
--key-signal=[value] Replace keyboard input, make current spare node as master node.
--start-ini=[key=value,..] Modify xugu.ini's options.
- D=[path] Change work directory.
1.2 --version | -version | -v
输出数据库版本信息,推荐使用--version,-version即将在后续的版本弃用。
1.2.1 示例
shell
$ ./xugu_linux_x86_64_20250619 --version
Version: XuguDB 12.0.0
1.3 --build-info
输出程序编译信息。
1.3.1 示例
shell
$ ./xugu_linux_x86_64_20250619 --build-info
Build Time: 2025-06-19 12:00:00
1.4 --kernel-version
输出数据库内核版本信息。
1.4.1 示例
shell
$ ./xugu_linux_x86_64_20250619 --kernel-version
12.9.7
1.5 --start-path
输出数据库程序部署路径。
1.5.1 示例
shell
$ ./xugu_linux_x86_64_20250619 --start-path
/home/xugudb/xugu-12.9.7-Linux-x86_64-20250619/Server/BIN
二、数据库初始化
2.1 --init-setup
XuguDB Server支持通过程序命令行选项--init-setup
初始化系统配置文件xugu.ini、mount.ini、types.ini和trust.ini,初始化创建的系统配置文件路径为工作目录下的SETUP目录。
在使用该选项生成系统配置文件时,工作目录下的SETUP目录内任何已存在的配置文件(xugu.ini、mount.ini、types.ini或trust.ini),都将导致初始化操作失败。
2.1.1 示例
shell
$ ./xugu_linux_x86_64_20250619 --init-setup
Resource limit:
File number: hard limit=1048576,soft limit=10240
File size(M): hard limit=-1,soft limit=-1
Data memory(M): hard limit=-1,soft limit=-1
Resident(M): hard limit=-1,soft limit=-1
Proc's total memory(M): hard limit=-1,soft limit=-1
$ cd ..
$ tree
.
├── BIN
│ └── xugu_linux_x86_64_20250619
└── SETUP
├── mount.ini
├── trust.ini
├── types.ini
└── xugu.ini
2.2 --init-cluster
默认初始化生成集群配置文件模板cluster.ini.temp并退出,初始化创建的系统配置文件放置在工作目录下面的SETUP目录内。
生成的集群配置文件仅作为一个编辑模板,配置文件的内容需要用户根据实际情况二次编辑,并去掉.temp后缀后生效。
2.2.1 示例
shell
$ ./xugu_linux_x86_64_20250619 --init-cluster
$ tree
.
├── BIN
│ └── xugu_linux_x86_64_20250619
└── SETUP
└── cluster.ini.temp
2.3 -D
默认情况下,XuguDB Server的工作目录通过程序的安装路径锚定,一般为BIN目录的父级目录。除此之外,用户也可以通过程序启动参数-D来指定虚谷数据库服务器的工作目录,使用-D指定程序工作目录时必须以绝对路径的方式指定。若仅仅只是使用了-D参数而没有参数值,系统将使用默认路径(即通过程序安装路径锚定的路径)。
2.3.1 示例
shell
-- 用户自定义 XuguDB Server 的工作目录
./BIN/xugu_linux_x86_64_20250619 -D="/data1/XGDBMS"
-- 用户自定义 XuguDB Server 的工作目录(向前兼容旧版本使用习惯)
./BIN/xugu_linux_x86_64_20250619 -D/data1/XGDBMS
三、数据库运维
3.1 --child | -child
以前台模式启动数据库服务,推荐使用--child
。
在Linux操作系统环境下,以前台模式启动的数据库服务进程会作为bash shell进程的子进程运行,当bash shell进程退出,作为其子进程的数据库服务进程也将被中止并退出;在windows操作系统环境下,以前台模式启动的数据库服务进程会作为命令提示符进程cmd.exe进程的子进程运行,当命令提示符进程退出,作为其子进程的数据库服务进程也将被中止并退出。
3.2 --server | -server | -service
以后台模式启动数据库服务,推荐使用--server
。
在Linux操作系统环境下,以后台模式启动的数据库服务进程会作为systemd进程的子进程运行,systemd进程是Linux系统启动后第一个被创建的用户态进程,负责初始化系统并启动其他关键的系统进程和服务,这将意味着数据库服务进程不会被动的因为某个bash shell进程被关闭而结束;在windows操作系统环境下,以后台模式启动的数据库服务进程会作为命令提示符进程cmd.exe进程的子进程运行,当命令提示符进程退出,作为其子进程的数据库服务进程也将被中止并退出。
3.3 --daemon | -daemon
以守护模式启动数据库服务,推荐使用--daemon
。
该参数只支持在 Linux 操作系统环境下使用,以守护模式启动数据库服务进程时,系统会额外创建一个数据库服务进程的守护进程,守护进程会作为数据库服务进程的父进程并监视数据库服务子进程的进程状态,一旦数据库服务进程异常退出,数据库服务进程的守护进程将尝试重启服务进程(若重启失败,则继续尝试重启)。另外,守护进程的父进程是 systemd 进程。
3.4 --start-ini
XuguDB Server 支持通过程序启动参数--start-ini
修改系统参数配置文件 xugu.ini,向--start-ini
提供参数值时,参数值中的参数项必须以键值对的形式提供,相邻参数项之间必须以英文逗号','作为分割符,--start-ini
参数值中的任何地方都不允许出现空格和换行。此参数默认使用前台模式启动数据库。
shell
-- 修改数据库服务端口为10578,修改用户口令最短长度为10,并使用前台模式启动数据库服务
./BIN/xugu_linux_x86_64_20250619 --start-ini="listen_port=10578,min_pass_len=10"
--start-ini可以搭配--init-setup一起使用,用于生成符合实际部署环境的系统参数配置文件。
shell
-- 初始化生成xugu.ini,并修改数据库服务端口为10578后退出;
./BIN/xugu_linux_x86_64_20250619 --start-ini="listen_port=10578" --init-setup
3.5 --key-signal
对于XuguDB Server数据库集群系统,一般有两个管理节点(一主一备)负责管理整个集群,当出现灾难事故导致需要重启集群时,如果主管理节点无法再接入集群,可以在启动备管理节点时通过启动参数--key-signal='a'
来代替敲键进行备用管理节点向主管理节点切换。
shell
-- 启动备管理节点, 并将备管理节点切换为主管理节点,集群由主备双管理节点改为单管理节点。
./BIN/xugu_linux_x86_64_20250619 --key-signal='a'
四、Windows以服务方式管理数据库
4.1 数据库服务端可执行程序参数(推荐)
在Windows操作系统中,使用数据库可执行程序参数的命令,在Windows的服务中注册服务,并操作服务。命令模板:
txt
<服务的可执行文件路径> <程序参数>
支持的程序参数:
- --install:注册和启动数据库
- --start:注册和启动数据库
- --stop:停止数据库服务
- --remove:删除数据库服务
提示
- 执行数据库服务端可执行程序参数需要以管理员身份运行CMD或PowerShell。
- 使用数据库服务端可执行程序参数启动后,任务管理器重名称默认为:XuguDB,描述默认为:Xugu Database Management System。
使用可执行程序参数命令示例:
txt
注册并启动服务:
D:\SoftDocuments\xugudbms\XuguWindows\BIN\xugu_windows_amd64.exe --install
注册并启动服务:
D:\SoftDocuments\xugudbms\XuguWindows\BIN\xugu_windows_amd64.exe --start
停止服务:
D:\SoftDocuments\xugudbms\XuguWindows\BIN\xugu_windows_amd64.exe --stop
删除服务:
D:\SoftDocuments\xugudbms\XuguWindows\BIN\xugu_windows_amd64.exe --remove
4.2 sc命令参数
在Windows操作系统中,SCM(Service Control Manager)是一个负责管理服务(包括启动、停止和配置服务等)的系统组件。如果要注册一个服务到SCM,可以使用sc命令行工具来创建、删除、启动、停止和查询服务。
提示
- 执行sc命令需要以管理员身份运行CMD或PowerShell。
- 使用sc命令创建服务时,可将启动的服务名称设置为XuguDB,描述通过DisplayName设置为Xugu Database Management System。
sc命令模版:
txt
sc create <服务名称> binPath= "<服务的可执行文件路径及参数>" DisplayName= "<服务的描述信息>"
执行注册服务时,sc 命令的可执行文件后必须加上额外的参数--backend
,若要设置开机自启动服务,则添加参数start= auto
。
sc命令示例:
txt
创建服务:
sc.exe create XuguDB binPath="D:\SoftDocuments\xugudbms\XuguWindows\BIN\xugu_windows_amd64.exe --backend" start= auto DisplayName= "Xugu Database Management System"
启动服务:
sc.exe start XuguDB
停止服务:
sc.exe stop XuguDB
删除服务:
sc.exe delete XuguDB
五、Linux设置数据库开机自启
5.1 数据库服务方式
Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置,现将数据库启动命令注册为服务,并通过Systemd来进行管理。
提示
- 注册服务需使用root用户或在命令前加sudo。
在/lib/systemd/system目录下新建xugudb.service文件。
shell
touch /lib/systemd/system/xugudb.service
vim /lib/systemd/system/xugudb.service
xugudb.service文件内容示例如下:
shell
[Unit]
Description=XuGuDB Service
[Service]
Type=forking
ExecStart=/home/xugudb/xugu-12.9.7-Linux-x86_64-20250619/Server/BIN/startdb_service.sh
[Install]
WantedBy=multi-user.target
在数据库BIN目录下新建启动脚本文件startdb_service.sh
shell
cd /home/xugudb/xugu-12.9.7-Linux-x86_64-20250619/Server/BIN/
touch startdb_service.sh
vim startdb_service.sh
startdb_service.sh文件内容示例如下:
shell
#!/usr/bin/bash
chmod +x /home/xugudb/xugu-12.9.7-Linux-x86_64-20250619/Server/BIN/xugu_linux_x86_64_20250619
/home/xugudb/xugu-12.9.7-Linux-x86_64-20250619/Server/BIN/xugu_linux_x86_64_20250619 --server
增加可执行权限并启用数据库开机自启服务。
shell
chmod +x startdb_service.sh
systemctl daemon-reload
systemctl enable xugudb.service
若要取消并删除该自启服务,则使用以下命令:
shell
systemctl disable xugudb.service
rm /lib/systemd/system/xugudb.service