项目要用python连接mysql,查了一下需要python的MySQLdb模块。
首先在python中确定有没有安装这个模块
import MySQLdb #注意大小写
发现并没有安装,下面开始安装
1.安装mysql相关的库
服务器上默认的mysql版本是这样的
yum list installed | grep mysql
发现这个里边并没有mysql-devel这个东西,它包含了编译客户端相关的库和文件,没有这个东西当你在编译模块时会提示_mysql.c找不到之类的错误,相关工具的介绍见这篇博客:https://my.oschina.net/taomac/blog/703290
安装mysql-devel也出现了一些版本之类的问题,最后把mysql全都删除了,然后重新安装
sudo yum remove mysql-libs
yum 默认的源安装的mysql版本比较低,才5.1,不过使用remi的源比较新,后面那个参数是选择源
sudo yum -y install mysql-server mysql mysql-devel --enablerepo=remi
安好了之后是这样的
注意到mysql-devel已经安装了,上边那个php-mysql不用管,这是在不同环境上截的,另一台机器没有安装。
2. 安装MySQLdb
- 这里可以用yum,现在默认会安装1.2.3的版本,也还好
sudo yum install MySQL-python --enablerepo=remi
- 也可以选择编译安装,这块也比较简单
https://pypi.python.org/pypi/MySQL-python
找一个你需要的版本,解压
sudo python setup.py build
没有问题的话然后再install
不过这个需要有setuptools,可以去https://pypi.python.org/pypi/setuptools
找到相应版本的tar.gz包
解压到某处,执行
python setup.py install
应该就安好了,python这块的操作都差不多,我也没看文档,直接尝试了一下就安上了。
我记得之前用默认源的时候出现了一次文件冲突,
yum -y remove compat-mysql51-5.1.54-1.el6.remi.x86_64
对比一下哪个文件冲突了,把有冲突的文件删掉就行了,参考
http://blog.sina.com.cn/s/blog_714afb2b0102vx7l.html
这个其实没什么用了,因为后来是把mysql全都删了,其实这个耽误时间比较长是在mysql-devel那块,老是版本冲突,后来把相关的全删了重新安装就好了。linux这块安软件比windows麻烦,不过感觉熟练了的话还是挺有乐趣的。
3. 其他
现在检测import MySQLdb 就什么都不显示了,这代表安装成功,如果出现
这种情况是源码编译的方式安装后在当前目录下进入python环境执行import的原因,切换目录在进入python就好了。
执行sudo python …的时候观察一下root的python执行脚本和本地用户有没有区别,如果不是一个脚本,那你安装的包在本地用户可是访问不到的。当然如果你的机器上只有一个版本的python那就没什么问题了。