达梦数据库安装(命令行安装教程)

达梦数据库下载中心:

产品下载-达梦数据

首先前往达梦数据库下载中心,下载需要的安装包,并放到Linux的 /root下。

一、创建dmdba用户

1.创建用户所在的组,命令如下:

                groupadd dinstall -g 2024

    2.创建用户,命令如下:

        useradd  -G dinstall -m -d /home/dmdba -s /bin/bash -u 2024 dmdba

    3.修改用户密码,命令如下:(可选,默认为空)

       passwd dmdba

    4.验证用户组成员身份:

        groups dmdba

       

   (检查用户是否存在id dmdba

       删除用户sudo userdel -r dmdba

      检查组是否存在getent group dinstall

       删除组sudo groupdel dinstall

二、修改文件打开最大数

LinuxSolarisAIX HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。

永久修改和临时修改。

  • 重启服务器后永久生效。

使用 root 用户打开 /etc/security/limits.conf 文件进行修改,命令如下:

vi /etc/security/limits.conf

在最后需要添加如下配置:

dmdba  soft      nice       0

dmdba  hard      nice       0

dmdba  soft      as         unlimited

dmdba  hard      as         unlimited

dmdba  soft      fsize      unlimited

dmdba  hard      fsize      unlimited

dmdba  soft      nproc      65536

dmdba  hard      nproc      65536

dmdba  soft      nofile     65536

dmdba  hard      nofile     65536

dmdba  soft      core       unlimited

dmdba  hard      core       unlimited

dmdba  soft      data       unlimited

dmdba  hard      data       unlimited

注意

修改配置文件后重启服务器生效

常见用法

  • shutdown -r now:立即重启。

或者 sudo reboot(如果当前用户不是root)。

切换到 dmdba 用户,查看是否生效,命令如下:

su – dmdba

ulimit –a

参数配置已生效。

三、目录规划 

1.可根据实际需求规划安装目录,本示例使用默认配置 DM 数据库安装在 /home/dmdba 文件夹下。

2.规划创建实例保存目录、归档保存目录、备份保存目录。

注意

使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下

##实例保存目录
mkdir -p /dmdata/data 
##归档保存目录
mkdir -p /dmdata/arch
##备份保存目录
mkdir -p /dmdata/dmbak

四、修改目录权限 

将新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:

chown -R dmdba:dinstall /dmdata/data
chown -R dmdba:dinstall /dmdata/arch
chown -R dmdba:dinstall /dmdata/dmbak

给路径下的文件设置 755 权限。命令如下:

chmod -R 755 /dmdata/data
chmod -R 755 /dmdata/arch
chmod -R 755 /dmdata/dmbak

五、数据库安装

1.挂载镜像

切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,

假如安装包在/root下

sudo  mount -o loop dm8_20240712_x86_rh7_64.iso /mnt

2.命令行安装

切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。

su - dmdba

cd /mnt

执行如下命令进行安装。

./DMInstall.bin -i

按需求选择安装语言,没有 key 文件选择 "n",时区按需求选择一般选择 “21”,安装类型选择“1”,安装目录按实际情况配置,这里示例使用默认安装位置。

数据库安装大概 1~2 分钟,数据库安装完成后,显示如下界面

数据库安装完成后,需要切换至 root 用户执行上图中的命令 /home/dmdba/dmdbms/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份。

3.配置实例

DM 数据库在 Linux 环境支持命令行配置实例。

命令行方式初始化实例

使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中。

su - dmdba

cd /home/dmdba/dmdbms/bin

使用 dminit 命令初始化实例,dminit 命令可设置多种参数,可执行如下命令查看可配置参数。

./dminit help
需要注意的是 页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 、空格填充模式 (BLANK_PAD_MODE) 、页检查模式(PAGE CHECK 等部分参数,一旦确定无法修改,在初始化实例时确认需求后谨慎设置。

部分参数解释如下:

  • page_size:数据文件使用的页大小。取值范围 481632,单位:KB。缺省值为 8。可选参数。选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降。数据库创建成功后无法再修改页大小,可通过系统函数 SF_GET_PAGE_SIZE()获取系统的页大小。
  • extent_size:数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值范围 163264。单位:页数。缺省值为 16。可选参数。数据库创建成功后无法再修改簇大小,可通过系统函数 SF_GET_EXTENT_SIZE()获取系统的簇大小。
  • case_sensitive 标识符大小写敏感。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,系统比较函数会将大写字母全部转为小写字母再进行比较。取值:Yy1 表示敏感;Nn0 表示不敏感。缺省值为 Y。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_CASE_SENSITIVE_FLAG() CASE_SENSITIVE()查询设置的参数置。
  • charset:字符集选项。取值范围 0120 代表 GB180301 代表 UTF-82 代表韩文字符集 EUC-KR。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_UNICODE_FLAG() UNICODE()查询设置的参数置。
  • BLANK_PAD_MODE:设置字符串比较时,结尾空格填充模式是否兼容 ORACLE1:兼容;0:不兼容。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过查询 V$PARAMETER 中的 BLANK_PAD_MODE 参数名查看此参数的设置值。
  • PAGE_CHECKPAGE_CHECK 为页检查模式。取值范围 01230:禁用页校验;1:开启页校验并使用 CRC 校验;2:开启页校验并使用指定的 HASH 算法进行校验;3:开启页校验并使用快速 CRC 校验。缺省值为 3。可选参数。在数据库创建成功后无法修改。

更多 dminit 参数解释可参考达梦数据库安装目录下 doc 目录中《DM8_dminit 使用手册》

建议

在实际使用中,初始化时建议提前设置好 COMPATIBLE_MODE 的参数值,便于更好的兼容其他数据库。参数说明:是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92 标准,2:部分兼容 ORACLE3:部分兼容 MS SQL SERVER4:部分兼容 MYSQL5:兼容 DM66:部分兼容 TERADATA7:部分兼容 POSTGRES

可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dmdata/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dmdata/data 目录相应权限,可以参考修改目录权限),初始化命令如下:

./dminit path=/dmdata/data

也可以自定义初始化实例的参数,参考如下示例:

以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMTEST,实例名为 DBSERVER,端口为 5237

./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y

CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237

注意

如果此处自定义了初始化参数,在后面的注册服务和启动数据库等步骤中,请按实际的自定义参数进行操作。

六、注册服务

命令行注册服务

DM 提供了将 DM 服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/script/root”子目录下。

注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务。注册服务需使用 root 用户进行注册,使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:

cd /home/dmdba/dmdbms/script/root/

注册实例服务,如下所示:

root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DAMENG/dm.ini -p DMTEST

注意:dm.ini文件根据实际情况会在不同目录下

部分参数说明:

标志

参数

说明

-t

服务类型

注册服务类型,支持一下服务类型:dmapdmamondmserver

dmwatcherdmmonitordmasmsvrdmasmsvrmdmcssdmcssm

-dm_ini

INI 文件路径

指定服务所需要的 dm.ini 文件路径。

-p

服务名后缀

指定服务名后缀,生成的操作系统服务名为服务脚本模板名,

+ 服务名后缀。此参数只针对 dmserverdmwatcher

dmmonitordmasmsvrdmasmsvrmdmcssdmcssm 服务脚本生效。

更多参数说明和脚本使用方法可参考数据库安装目录下 doc 目录中 DM8_Linux 服务脚本使用手册》。

进入数据安装目录下 bin 目录中可以看到已经注册好的服务 DmServiceDMTEST

cd /home/dmdba/dmdbms/bin

ls

七、启动、停止数据库

命令行启停数据库

服务名方式

服务注册成功后,启动数据库。

使用 dmdba 用户进入 DM 安装目录下的 bin 目录下,启动数据库,如下所示:

[root@localhost ~]# su - dmdba

[dmdba@localhost ~]$ cd /home/dmdba/dmdbms/bin

[dmdba@localhost bin]$ ./DmServiceDMTEST start

停止数据库

 [dmdba@localhost bin]$ ./DmServiceDMTEST stop

重启数据库

[dmdba@localhost bin]$ ./DmServiceDMTEST restart

查看数据库状态,如下所示:

[dmdba@localhost bin]$ ./DmServiceDMTEST status

### 回答1: 可以通过在 Docker Compose 文件中配置容器启动命令,在启动容器时执行 SQL 脚本。 以下是一个示例: ``` version: '3' services: db: image: your-image-name environment: MYSQL_ROOT_PASSWORD: password volumes: - ./sql:/docker-entrypoint-initdb.d ``` 在上面的示例中,我们将镜像名称配置为 `your-image-name`,并设置了环境变量 `MYSQL_ROOT_PASSWORD` 为 `password`。我们还将本地目录 `./sql` 挂载到容器内的 `/docker-entrypoint-initdb.d` 目录中。 当容器启动时,Docker 会执行该目录下的所有 SQL 脚本,并在数据库中执行。 请注意,上面的示例假定你正在使用一个兼容 MySQL 的数据库镜像,如果你使用的是其他数据库镜像,需要根据镜像的说明文档来配置容器启动命令。 ### 回答2: 使用Docker Compose 和达梦镜像启动执行 SQL 脚本是很简单的。首先,我们需要在本地创建一个 docker-compose.yml 文件,并设置合适的配置。 在 docker-compose.yml 文件中,我们需要定义一个服务,使用达梦镜像,并将 SQL 脚本挂载到容器中。例如: version: '3' services: dm-database: image: dm-db-image ports: - "5432:5432" volumes: - ./sql-scripts:/docker-entrypoint-initdb.d 在上面的例子中,我们定义了一个名为 dm-database 的服务,使用了 dm-db-image 镜像。我们将容器内部的 5432 端口映射到主机的 5432 端口,以便可以从本地连接到数据库。同时,我们将本地的 sql-scripts 目录挂载到容器的 /docker-entrypoint-initdb.d 目录下。这意味着,容器启动时,SQL 脚本将自动执行。 现在,我们可以使用 Docker Compose 启动这个服务。只需在终端中进入包含 docker-compose.yml 文件的目录,并运行以下命令: docker-compose up -d 这将启动 dm-database 服务,并在后台运行。 当容器启动后,它将执行挂载的 SQL 脚本。可以在.sql 脚本中编写 SQL 命令,以实现在数据库中创建表格、插入数据或者执行其他的操作。 总结起来,使用 Docker Compose 和达梦镜像启动执行 SQL 脚本非常简单。只需要通过 docker-compose.yml 文件定义服务,将 SQL 脚本挂载到容器中,然后使用 Docker Compose 启动服务即可。这样,我们就能够方便地管理和执行 SQL 脚本。 ### 回答3: Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,它使用YAML文件来配置应用程序的服务、网络和卷。达梦镜像是用于在容器中运行达梦数据库的映像,可以通过Docker Compose来启动和管理。 要在达梦镜像中执行SQL脚本,可以按照以下步骤操作: 1. 首先,创建一个Docker Compose YAML文件,用于定义达梦数据库服务和相关配置。示例内容如下: ```yaml version: '3' services: dameng: image: dameng-db:latest ports: - "5432:5432" volumes: - ./scripts:/docker-entrypoint-initdb.d ``` 在这个示例中,我们创建了一个名为"dameng"的服务,使用了达梦数据库的镜像。同时,将宿主机上的`./scripts`目录挂载到容器内的`/docker-entrypoint-initdb.d`目录下,用于存放SQL脚本文件。 2. 在`./scripts`目录下创建SQL脚本文件,格式为`.sql`,比如命名为`init.sql`。在脚本文件中编写所需的SQL语句,比如创建表、插入数据等。 3. 运行以下命令启动应用程序: ``` docker-compose up -d ``` 这将启动Docker Compose配置文件中定义的服务,并自动将SQL脚本文件复制到达梦镜像内的`/docker-entrypoint-initdb.d`目录。 4. 达梦镜像在启动时会扫描`/docker-entrypoint-initdb.d`目录,如果发现有SQL脚本文件,将自动执行其中的SQL语句。 5. 当容器启动完成后,你可以通过连接到达梦数据库的方式来验证SQL脚本是否成功执行。比如使用数据库管理工具连接到`localhost:5432`,并执行相应的查询语句。 综上所述,通过使用Docker Compose来启动达梦镜像并执行SQL脚本,可以简化部署和管理达梦数据库的过程,并确保初始化脚本的自动执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值