前言:最近学习国产数据库,达梦数据库没有mac的安装包,所以整理下Docker安装达梦数据库。
运行:Docker
管理:通过jdbc驱动管理
好了,开始搞!
安装
方式1:官方镜像安装
下载镜像: https://download.dameng.com/eco/dm8/dm8_20230808_rev197096_x86_rh6_64_single.tar
cd到安装包目录下,执行以下命令导入安装包:
docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar
启动容器
docker run -d -p 5236:5236 --restart=always --name dm8_test --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e EXTENT_SIZE=32 -e BLANK_PAD_MODE=1 -e LOG_SIZE=1024 -e UNICODE_FLAG=1 -e LENGTH_IN_CHAR=1 -e INSTANCE_NAME=dm8_test -v $(pwd)/dm8_test:/opt/dmdbms/data dm8_single:dm8_20230808_rev197096_x86_rh6_64
#镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA00
检查是否成功
docker logs dm8_test
![](https://i-blog.csdnimg.cn/blog_migrate/0ac58161b95c01450977e6da614e7ab6.png)
方式2:阿里镜像安装
docker run -d --name jemdm8 -h jemdm8 -p 5236:5236 -p 8080:8080 -v /sys/fs/cgroup:/sys/fs/cgroup --privileged=true registry.cn-shanghai.aliyuncs.com/techerwang/dbhub:jem_dm8 /usr/sbin/init
#镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA
#web管理界面用户名/密码为 admin/888888
检查是否成功
进入容器:
docker exec -it jemdm8 bash
查看状态:
systemctl status DmAgentService DmAPService DmServiceDMSERVER tomcat | grep Active
![](https://i-blog.csdnimg.cn/blog_migrate/0cac92048074d4670549a3a59218db62.png)
管理数据库:
1、阿里镜像时
自带web管理工具:http://{ip}:8080
web管理界面用户名/密码为 admin/888888
![](https://i-blog.csdnimg.cn/blog_migrate/79b8b064456f6d181d033676eecf2402.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3a25b6661579649b0d9cc41ec76676a6.png)
2、官方镜像时
参考:管理工具搭建
3、idea工具
下载jdbc驱动:驱动下载
在idea中添加好下载的驱动
![](https://i-blog.csdnimg.cn/blog_migrate/6c9d374506078a13e6d8ad16f36fc112.png)
添加数据库
![](https://i-blog.csdnimg.cn/blog_migrate/9da154d7094dd052b5cc0d6ea4ac9658.png)
若使用其他管理工具,也类似操作。
sql操作
--创建表空间
create tablespace "MY_TEST" datafile '/dm8/data/DAMENG/MY_TEST.DBF' size 32 CACHE = NORMAL;
--创建用户
create user "DM_TEST" identified by "dameng123"
limit failed_login_attemps 3, password_lock_time 1, password_grace_time 10
default tablespace "MY_TEST"
default index tablespace "MY_TEST";
--用户授权角色
grant "PUBLIC","RESOURCE" to "DM_TEST";
DM_TEST用户就可以看到DM_TEST的数据库
--直接创建数据库
create schema DM_TEST2;