内网服务器上有安装MySQLdb模块需求,但由于无法访问外网,操作起来比较麻烦。具体步骤记录如下。
环境
- CentOS版本:CentOS Linux release 7.6.1810
- python版本:Python 2.7.5
安装依赖
如果系统为最小化安装,需要安装以下rpm包
python-backports-1.0-8.el7.x86_64.rpm
python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
python-ipaddress-1.0.16-2.el7.noarch.rpm
python-setuptools-0.9.8-7.el7.noarch.rpm
python-devel-2.7.5-76.el7.x86_64.rpm
把这些包下载后上传至内网服务器,使用rpm -ivh
命令安装。
下载MySQLdb源码包
建议去GitHub上下载,地址:https://github.com/farcepest/MySQLdb1
下载源码包后上传至内网服务器。
修改配置文件并安装
源码包上传服务器并解压后,如果直接运行安装会报mysql_config not found错误,需要先修改源码包中的site.cfg
文件,如下:
# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
#mysql_config = /usr/local/bin/mysql_config
mysql_config = /etc/alternatives/mysql_config
其中#mysql_config = /usr/local/bin/mysql_config
这行默认注释的,可以查看本机上mysql_config文件的真实地址,并按实际地址修改配置文件。
安装到这里有个小插曲,我操作的这台机器上没有mysql_config文件,经排查(也就是百度)原因是缺少以下软件包:mariadb-libs-5.5.60-1.el7_5.x86_64 postfix-2:2.10.1-7.el7.x86_64 mariadb-devel-1:5.5.60-1.el7_5.x86_64
,安装后解决。
安装:
python setup.py install
执行完毕后,安装完成。可以进入python交互模式,通过import MySQLdb
是否报错判断模块是否安装成功。
最后附上一个博文链接,文中解决问题的思路非常清晰,值得学习。地址:https://blog.csdn.net/qinglingLS/article/details/95224509