在linux下安装一个mysqldb,用来让python能读写mysql, 出现的问题
系统环境
1.Oracle Linux 6.5
2.mysql community 5.7.9
3.python default 2.6.6
4.MySQL_python-1.2.3
安装
1.安装MySQL-python
解压tar zxvf MySQL-python-1.2.3.tar.gz
进入目录
2.python setup.py build 编译
这个时候,有可能需要装setuptool,gcc,如果提示找不到类似mysqlclient的提示
大家可以执行
ln -s /usr/lib64/mysql/libmysqlclient.a /usr/lib/libmysqlclient.a
ln -s /usr/lib64/mysql/libmysqlclient_r.a /usr/lib/libmysqlclient_r.a
具体原因我也不是很清楚,其实如果能把默认目录换到/usr/lib64下,最好了
至于threadsafe也不用改成False
# 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/bin/mysql_config
把mysql_config这个目录换一下,可以用whereis mysq_config查找的
python setup.py install(还是需要这一步的,大家不要忘记了)
3.如果提示
如果提示这个的话,大家不用怕,我也从这里跌倒的
经查得知是由于编译Python所用的编译器与编译MySQL-python所用编译器不同所致。
用g++重新编译_mysql.so即可
如果发现你的机器没有g++或者用yum install g++不行的情况下
你需要yum install gcc-c++ libstdc++-devel这个就可以了
首先要进入mysql-python的build目录里,我的是2.6,你要根据自己的改一下
g++ -pthread -shared ./temp.linux-x86_64-2.6/_mysql.o -L/usr/lib64 -l mysqlclient_r -lpthread -lm -lrt -ldl -o ./lib.linux-x86_64-2.6/_mysql.so
然后重新编译就可以了