为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8
【操作系统】:centos7
【CPU】:
【问题描述】*:docker安装设置字符集不生效,
命令如下:
docker run -d -p 5236:5236 \ --restart=always \ --name dm8_01 \ --privileged=true \ -e CASE_SENSITIVE=0 \ -e CHARSET=1 \ -e PAGE_SIZE=16 \ -e LD_LIBRARY_PATH=/opt/dmdbms/bin \ -e INSTANCE_NAME=dm8_01 \ -v /data/dm8_01:/opt/dmdbms/data \ dm8_single:v8.1.2.128_ent_x86_64_ctm_pack4
按照官方文档,CHARSET=1 的时候表示设置为utf8,但是事实却并不起作用,然后看了其他回答,操作如下:
1、正常启动容器,查询docker ps容器ID
2、进入容器docker exec -it 容器ID /bin/bash
3、停止数据库服务
ps -ef|grep dms
kill -9 pid
修改原实例目录cd /opt/dmdbms/data
mv DAMENG OLD_DAMENG
4、根据需求初始化实例(不要修改路径和数据库名DB_NAME)
cd /opt/dmdbms/bin
./dminit PATH=/opt/dmdbms/data EXTENT_SIZE=16 PAGE_SIZE=16 CHARSET=1 CASE_SENSITIVE=0 INSTANCE_NAME=dm8_01
5、退出重启docker restart dm8_01
本地windows的客户端连不上服务器中的数据库了,报账号密码错误,请问怎么解决呢,有没有老哥晓得,麻烦看看呗,谢谢辣
在这里需要加上SYSDBA的密码设定
./dminit PATH=/opt/dmdbms/data EXTENT_SIZE=16 PAGE_SIZE=16 CHARSET=1 CASE_SENSITIVE=0 SYSDBA_PWD=SYSDBA001 INSTANCE_NAME=dm8_01
之后,重启就可以连上了
按照上面的操作,重新删掉了容器,又跑了下这个命令,就可以了
我把CHARSET换成了UNICODE_FLAG,不晓得是我上面操作的问题,还是这个命令就可以了。希望可以帮到你们,后面有朋友也遇到这个问题,可以踩我一下,官方文档关于docker安装的写的不够详细