已经初始化为大小写敏感的达梦数据库如何重新初始化为不敏感
问题描述:在项目中会遇到由于达梦设置大小写敏感,程序没完全兼容的情况下,部分功能会出现异常;如果重新初始化为大小写不敏感。
解决方法:以原安装路径为/data/dmdba/dmdbms/data/DAMENG为例,此步骤都是在已安装并初始化达梦的前提下:
步骤1:备份原数据库(使用图形化工具或导出命令都行)
./dexp userid=SYSDBA/'"密码"'@127.0.0.1:5236 DIRECTORY=/data/dmdba/bak/ file=xx20251211.dmp log=xx20251211.log schemas=模式名
步骤2:停止达梦数据库服务
systemctl stop DmServiceDMSERVER
步骤3:删除原有数据库文件
rm -rf /data/dmdba/dmdbms/data/DAMENG
步骤4:重新初始化数据库(大小写不敏感)
cd /data/dmdba/dmdbms/bin
./dminit PATH=/data/dmdba/dmdbms/data DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 CHARSET=0 CASE_SENSITIVE=0 SYSDBA_PWD=密码 SYSAUDITOR_PWD=密码
提示"create dm database success"表示初始化成功。
chown -R dmdba:dinstall /data/dmdba/dmdbms
systemctl start DmServiceDMSERVER
步骤5:重新创建用户和导入dmp文件
cd /data/dmdba/dmdbms/bin
./disql SYSDBA:5236 输入密码登陆
达梦数据库创建用户:create user "DBYNBB" identified by "密码" limit failed_login_attemps 3, password_lock_time 1, password_grace_time 10;
给用户分配权限:grant "DBA","PUBLIC","VTI" to "DBYNBB";
./dimp userid=DBYNBB/'"密码"'@127.0.0.1:5236 DIRECTORY=/data/dmdba/dmdbms/data/DAMENG/bak file=imp_exp_20251211.dmp schemas=DBYNBB LOG=imp_1211.log
或者使用图形化工具导入也行,提示终止导入,无异常即可。重启数据库服务后登陆网站验证功能是否恢复
