linux python 安装MySQLdb

原创 2018年04月17日 20:40:17

每次安装python的MySQLdb模块都贼费劲,这次把一些要点记下来。

Centos6已经安装了mysql,mysql命令本身是好使的。但是每次安装python的MySQLdb模块都有问题。而且yum每次都因为python版本问题不能使用

安装MySQLdb模块

1、下载MySQL-python-1.2.3.tar.gz

# tar -zxvf MySQL-python-1.2.3.tar.gz
# cd MySQL-python-1.2.3

2、修改site.cfg

mysql_config = /usr/local/mysql/bin/mysql_config

若跳过第三步,直接编译运行,则在导入MySQLdb时会报错

ImportError: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory

解决办法就是第三步
3、libmysqlclient

查找 libmysqlclient(因为机器已经装过mysql),可能会存在两个,一个32位一个64位的,后面创建软连接时可以两个都试下,肯定有一个位数能对应上。

# find / -name libmysqlclient*

...
/usr/local/mysql/lib/mysql/libmysqlclient_r.so.15
/usr/local/mysql/lib/libmysqlclient_r.so.15
...


# ll /usr/local/mysql/lib/mysql/libmysqlclient_r.so.15
/usr/local/mysql/lib/mysql/libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0

# ll /usr/local/mysql/lib/libmysqlclient_r.so.15
/usr/local/mysql/lib/libmysqlclient_r.so.15 -> libmysqlclient_r.so

创建软连接

ln -s /usr/local/mysql/lib/libmysqlclient_r.so  /usr/lib64/libmysqlclient_r.so.15

根据32位或64位,软连接到/usr/lib/ 或/usr/lib64/目录

若是位数不对应,会报错:
ImportError: libmysqlclient_r.so.15: wrong ELF class: ELFCLASS32

重新创建新的软连接,找到对应的版本就好了

4、编译安装

# python setup.py build
# python setup.py install

5、测试

# python
>>> import MySQLdb
>>>

完美!!

若是报错警告
UserWarning: Module _mysql was already imported from
则,换个目录执行python命令就行

问题

在apache上部署了flask的web框架,结果在导入我自己的mysql封装类的时候,居然报错。

问题一

[Wed Apr 18 20:39:18 2018] [error] [client 10.40.101.37] ExtractionError: Can't extract file(s) to egg cache, referer:
....

[Errno 13] Permission denied: '/root/.cache',

将目录/root/.cache权限设置为777,依然不好使。

解决

把egg格式转成目录

# cd /python-path/site-packages/

# mv MySQL_python-1.2.3-py2.7-linux-x86_64.egg foo.zip

# mkdir MySQL_python-1.2.3-py2.7-linux-x86_64.egg

# cd MySQL_python-1.2.3-py2.7-linux-x86_64.egg

# unzip ../foo.zip 

# rm ../foo.zip

结果,好使!

Linux入门到精通视频教程(安装JDK,Tomcat,Mysql)

-
  • 1970年01月01日 08:00

python2.7之MySQLdb模块 for linux安装

python2.7之MySQLdb模块 for linux安装 1.下载:MySQL-python http://sourceforge.net/projects/mysql-python/f...
  • ys1109
  • ys1109
  • 2013-12-16 18:49:06
  • 3770

Python Linux上安装MYSQLdb

1、下载MySQL-python-1.2.3b1.tar.gz 解压:tar  -zxvf  MySQL-python-1.2.3b1.tar.gz 2、使用python setup.py build...
  • u010469632
  • u010469632
  • 2017-07-25 12:33:36
  • 314

Linux下安装MySQLdb模块(Python)

一、MySQLdb-python模块 https://pypi.python.org/pypi/MySQL-python ` 二、安装依赖包 yum -y install python-devel ...
  • foreverfriends
  • foreverfriends
  • 2017-04-29 17:25:40
  • 790

Linux下安装 MySQLdb模块 MySQL-python 坎坷之路

(1) 首先需要安装 setuptools tar zxf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python setup.py...
  • zklth
  • zklth
  • 2014-04-03 14:57:40
  • 2726

【python】Linux服务器下安装python 的 MySQLdb 以及常见报错解决

Linux服务器 下安装python 之MySQLdb 一般将涉及到数据库mysql操作的python项目跑到服务器端,首次会提示 mysqlLdb的安装 譬如 [root@iZ94s4ycn...
  • qq_14997169
  • qq_14997169
  • 2016-11-05 16:41:51
  • 2013

Python安装MySQLdb模块(Linux)

1,查看是否已安装MySQLdb模块    进入python的命令行,输入 import MySQLdb 如果没有报错,证明此模块已经安装,可以跳过以下步骤。 2,下载最新的MySQLdb安装包:...
  • guzicheng
  • guzicheng
  • 2010-09-14 17:33:00
  • 11933

在centos下安装python MySQLdb

在centos6.4环境下安装python MySQLdb 1) 下载MySQL-python $wget https://pypi.python.org/packages/a5/e9/51b544...
  • feifeilyj
  • feifeilyj
  • 2016-08-18 01:07:38
  • 2930

Linux下python玩转MySQLdb

(1)Linux下安装python的第三方模块 ---- MySQLdb,自己走了很多弯路,在此做一下总结,希望对于像我一样的初学者有所帮助 (2)Python中mysql数据库连接的例子,请见Lin...
  • u010700335
  • u010700335
  • 2015-05-28 09:55:54
  • 1196

Python2.7安装MySQLdb

安装步骤如下: 1、wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1...
  • qq_26718271
  • qq_26718271
  • 2017-07-14 16:32:30
  • 862
收藏助手
不良信息举报
您举报文章:linux python 安装MySQLdb
举报原因:
原因补充:

(最多只允许输入30个字)