安装一个docker版hana
其中-v是映射文件系统,将宿主机的/data/express_edition映射到docker里的/hana/mounts,然后读密码的时候,是读取的/hana/mounts/password.json。对于启动docker用户,/data/express_edition目录和json文件都需要有读写权限,因为启动后,docker程序会删掉这个文件。作为数据产品线的一员,装数据库就是我的宿命了,今
作为数据产品线的一员,装数据库就是我的宿命了,今天要搞的是HANA~~
这个数据库是SAP搞的,仅用于连接测试直接就上docker版。
1 下载镜像
由于众所周知的原因,直接拉镜像是不可以的。kimi提供了一个国内的下载地址,2025年可用:
docker pull docker.1ms.run/saplabs/hanaexpress
下载后用docker images查看:
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.1ms.run/saplabs/hanaexpress latest 5d47f222e180 4 months ago 4.01GB
2 初次启动
启动脚本有了一个现成的,使用的是读取json的方式获取缺省密码。
docker run -p 39013:39013 -p 39017:39017 -p 39041-39045:39041-39045 -p 1128-1129:1128-1129 -p 59013-59014:59013-59014 \
-v /data/express_edition:/hana/mounts \
--ulimit nofile=104857:104857 \
--hostname 89b7ff9b5f75 \
--sysctl kernel.shmmax=1073741824 \
--sysctl net.ipv4.ip_local_port_range='40000 60999' \
--sysctl kernel.shmall=8388608 \
--name express_edition \
docker.1ms.run/saplabs/hanaexpress:latest \
--passwords-url file:///hana/mounts/password.json \
--agree-to-sap-license
其中-v是映射文件系统,将宿主机的/data/express_edition映射到docker里的/hana/mounts,然后读密码的时候,是读取的/hana/mounts/password.json
password.json内容
{"master_password":"密码"}
对于启动docker用户,/data/express_edition目录和json文件都需要有读写权限,因为启动后,docker程序会删掉这个文件。
--hostname 89b7ff9b5f75
这句中的hostname实际是第一次启动抛出的异常中的值:
ERROR: Unknown host '41de8d3e6297'. The container must be started with one of these host names:
ERROR: 89b7ff9b5f75
这个hostname改了好几遍也不成功,算了,不和它较劲了,如果下次docker重启变了再改吧。
3 进命令行
先进docker
docker exec -it 容器id bash
hdbsql -n localhost:39017 -u SYSTEM -p 密码
注意,上面那个命令-p之后要带着密码
进入命令行后有一些简单查询
SELECT * FROM M_DATABASE;
查看库名,39017进入的是SYSTEMDB
SELECT SCHEMA_NAME FROM SCHEMAS
查看schema,有一个缺省的叫SYSTEM
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)