首先,有一点备注下:

1)官方建议不要使用root账号安装,所以新建一个用户dmdba(随便起的)

2)根据我的安装过程,建议最好全部过程,只出了最后的source过程(下面会提到)全部都直接在改用户下进行,包括从本地上传文件到服务器,也是直接上传到该账号下。之前安装过程中,因为使用的是duser用户登录,所以文件是先上传到duser用户下的,虽然之后都赋予了权限,但是仍然出现各种文件路径权限问题。所以后来重新整理:先新建用户dmdba,之后从本地上传安装包到服务器,到安装过程,全部都直接在dmdba用户下操作。会省了很多麻烦。

下面介绍步骤:

1:服务器新建用户

[root@ bin]# useradd dmdba   --增加一个dmbda的用户
[root@ bin]# passwd dmdba   --更改dmdba用户的密码
[root@ bin]# <输入密码>   
[root@ bin]# <再次输入密码>
[root@ bin]# mkdir /opt/dmdba/dmdbms   --在opt这个文件夹下面创建dmdbms的文件夹
[root@ bin]# chown dmdba/opt/dmdba/dmdbms/ -R   --级联更改opt目录下的dmdbms文件夹的权限归属为dmdba用户的dmdba组
[root@ bin]# su dmdba
[dmdba@ bin]# chmod 777 /opt/dmdba/dmdbms/ -R   --级联赋予opt目录下的dmdbms文件夹下的所有文件及文件夹777的权限

2:上传本地安装文件到服务器,注意直接上传到刚才新建的用户下

scp -r -P 10034 /***本地路径/dm/dmPython_res dmdba@127.0.0.1:/tmp/dm_client

3:进入安装包文件,执行安装指令

./DMInstall.bin -i  开始运行安装文件

安装过程会提示一些需要输入的选项如下:

注意:安装路径自己定义,但是定义的路径必须是dmdba用户可以操作的路径,如我的路径为 /home/dmdba/dmdbms

3、 根据提示完成安装。但是这里只是指的是软件部分安装完成,要想使用,还需要初始化数据库,启动数据库服务。

4、新建两个文件夹,分别存储data和log

mkdir /opt/dmdbms/data
mkdir /opt/dmdbms/elog
cd /home/dmdba/dmdbms/bin  # 此处是我的安装路径
./dminit # 执行初始化数据库指令

该过程会让你输入一系列参数,可参考上图进行配置。需要注意的是,data文件夹和elog文件夹需要提前创建,不然会提示错误。

注:上图中让输入的两个路径即为上面新建的两个文件夹;

5、启动数据库服务,此时,需要注意上个步骤结束之后,产生的一个dm.ini文件,该文件路径需要加入到启动数据库服务指令里面。

cd /home/dmdba/dmdbms/bin
./dmserver /opt/dmdbms/data/DAMENG/dm.ini

6.注册数据库服务:

cd /home/dmdba/dmdbms/script/root  # 进入安装路径下的该目录下

./dm_service_installer.sh -t dmserver -i /opt/dmdbms//data/DAMENG/dm.ini -p DMSERVER  # 该指令为启动数据库服务指令

7、service服务方式设置启动/停止数据库服务:
        

service DmServiceDMSERVER start|stop|status

8.安装dmPython:下图是我上传到服务器的dmPython源码列表

 

9、配置root用户的环境变量/root/.bash_profile,添加如下(需根据实际$DM_HOME进行修正):注意是root用户。

vi /root/.bash_profile
export LD_LIBRARY_PATH="/home/dmdba/dmdbms/bin:$LD_LIBRARY_PATH" 
export DM_HOME="/home/dmdba" 
source /root/.bash_profile

保存退出并source生效;注意,上述指令中的路径需要根据自己的安装路径修改。

10、之后运行

python setup.py install

如果提示找不到IM路径之类的,忘了截图了。。。

可以尝试打印下这个参数:echo $LD_LIBRARY_PATH

检查配置后是否保证正确映射到最新安装的/home/dmdba/dmdbms/bin目录下。

我安装的时候,就是因为之前安装失败过,但是没有删除干净,导致历史遗留的配置干扰了后配置的路径,导致路径不对。修改下就可以了。

可能会提示缺少gcc,使用下列命令安装

yum install gcc

可能会报错提示缺少 python.h 文件,原因为未安装 python-dev 包,在centos上可使用下面命令安装

yum install python-devel

同时需要添加对应的Python环境变量,在root用户的 bash_profile 文件里添加下面语句,其中Python的目录根据系统环境来修改

export C_INCLUDE_PATH=/usr/include/python2.7$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/include/python2.7:$CPLUS_INCLUDE_PATH

如上图所示,安装成功。

11、安装成功后注释掉root用户环境变量/root/.bash_profile添加的内容:
 

#export LD_LIBRARY_PATH="/home/dmdba/dmdbms/bin:$LD_LIBRARY_PATH" 

#export DM_HOME="/home/dmdba/dmdbms" 

保存退出并source生效;

12、测试

import dmPython
conn=dmPython.connect('SYSDBA','SYSDBA','localhost:5236')  # 此处的5236是你在安装DM时输入的port参数
print('You have connected with DMserver successfully!')
conn.close()

不出意外,运行之后会打印:

You have connected with DMserver successfully!

如果没有,可以使用下面指令查看数据库服务是否在正常启动着:

service DmServiceDMSERVER status

可以正常导入,应该就代表安装成功了,如果想测试connect,就需要另外启动一个达梦数据库服务端了。

 

注:上面安装dmPython的镜像,每次重启时,导入import dmPython可能会报错。

此时可以尝试source /root/.bash_profile

重新导入。

 

如果需要卸载dmpython,可以执行下面指令:

cd /usr/lib64/python2.7/site-packages/
rm -rf dmPython-2.3-py2.7.egg-info
rm -rf dmPython-2.3-py2.7-linux-x86_64.egg
rm -rf dmPython.so
Logo

更多推荐