文档章节

MySQLdb安装

艳沐石
 艳沐石
发布于 2014/11/19 15:14
字数 953
阅读 26
收藏 0

最近,朋友们常提起python。既然大家都觉得它好,而且之前我在linux下安装google的goagent代理的时候,出现过python的错误,我也自己想学习一下,理解一下它是如何处理解决问题的。python的环境,在linux下是安装好的。那么,为了能让python操作数据库,我按照网上的方法安装MySQLdb。

背景描述

服务器:centos 6.3
数据库:mysql 5.6采用rpm方式安装
    MySQL-client-5.6.16-1.el6.x86_64.rpm
    MySQL-server-5.6.16-1.el6.x86_64.rpm

软件准备

下载软件:
wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz

软件安装

  将文件解压后,在README文件中,有linux下安装步骤,如下
$ tar xfz MySQL-python-1.2.3.tar.gz
  $ cd MySQL-python-1.2.3
  $ # edit site.cfg if necessary
  $ python setup.py build
  $ sudo python setup.py install # or su first


问题解决

按照官方给的步骤,进行安装,出现了几个问题。

1. ImportError: No module named setuptools
解决方法:yum install python-setuptools

2. EnvironmentError: mysql_config not found
解决方法:需要安装MySQL-devel-5.6.16-1.el6.x86_64.rpm
(注:查看当前安装的mysql信息,或者find / -name mysql_config,查看是否存在对应命令。没有需要安装对应的mysql-devel。)

3.  /usr/bin/ld: cannot find -lmysqlclient_r
解决方法:mysql-python的目录下site.cfg 的 threadsafe = True 改为 False。就可以安装,的确如此。再看看 mysql 源码里的 ./configure –help 就知道有个 –enable-thread-safe-client 选项,如果安装的时候指定就可以了(就还是用 threadsfe = True)。
当调整为threadsafe的方法时候,知识将lmysqlclient_r更换为lmysqlclient。并没有根除这个问题。
在网上查看了遇到很多类似问题。后来在mysql官网上,搜索了一下lmysqlclient,发现一条如下的信息:
        Connector/C (libmysqlclient) is a client library for C development.
其实libmysqlclient是一个客户端类库为了C开发者,关于这个文件的说明地址如下:
http://dev.mysql.com/doc/connector-c/en/connector-c-installation-binary.html
在文中提到,使用rpm安装mysql的时候,需要安装的类库:shared和devel,而我只安装了devel。安装shared解决问题。

Installing MySQL Connector/C on Linux Using RPM Packages
There are two Linux RPM packages for MySQL Connector/C. Install one or both, depending on the capabilities you require:

The shared RPM contains the shared client library. Install this RPM if you intend to compile or run C API applications that depend on the shared client library.

The devel RPM contains the header files and the static client library. Install this RPM if you intend to compile C API applications.




问题扩展

1. 在之前安装lua的时候,也出现过/usr/bin/ld下无法找到目录。
    问题描述:
       在软件编译时出现usr/bin/ld: cannot find -lxxx的错误。
    原因:库文件并没有导入的ld检索目录中。
    解决方法:
        a. 确认库文件是否存在,比如-l123, 在/usr/lib, /usr/local/lib,或其它自定义的lib下有无lib123.so, 如果只是存在lib123.so.1,
那么可以通过ln -sv lib123.so.1   lib123.so,建立一个连接重建lib123.so.
        b. 检查/etc/ld.so.conf中的库文件路径是否正确,如果库文件不是使用系统路径,/usr/lib, /usr/local/lib, 那么必须在文件中加入。
        c. ldconfig 重建ld.so.cache文件,ld的库文件检索目录存放文件。
尤其刚刚编译安装的软件,必须运行ldconfig,才能将新安装的库文件导入ld.so.cache.

参考:
1. http://www.cnblogs.com/rollenholt/archive/2012/05/07/2487137.html
2. http://www.linuxqq.net/archives/733.html
3. http://www.jbxue.com/LINUXjishu/15034.html
4. http://dev.mysql.com/doc/connector-c/en/connector-c-installation-binary.html




© 著作权归作者所有

共有 人打赏支持
艳沐石
粉丝 2
博文 41
码字总数 21947
作品 0
朝阳
程序员
Ubuntu下python安装mysqldb

Ubuntu下python安装mysqldb(驱动) 今天呢是Ubuntu下给python安装mysql驱动,方法如下:在终端中输入:sudo apt-get install python-mysqldbOK,搞定,简单吧?来测试下安装完成之后可以在Pyt...

cosmos180
2013/06/14
0
0
【python学习】windows下安装MySQLdb

今天真是纠结的一天。。。。 本来打算在pycharm里面开发python web,发现mysql驱动没有,就想去安装一个MySQLdb 结果花了好久才安装好MySQLdb 其实,pycharm里面不需要安装MySQLdb,里面自带...

wdl542710518
2016/04/14
0
0
ImportError: No module named MySQLdb

ImportError: No module named MySQLdb 该错误是源于我们没有安装Python连接MySQL所需的MySQLdb库而引起。 MySQL是最流行的开源数据库之一,但在Python标准库中并没有集成MySQL接口程序,MyS...

netmouse
2014/10/17
0
0
Python操作Mysql

首先,安装需要的环境,Mysql和Python就不说了,必备的东西。 主要是安装的MySQLdb,可以去sf.net下载,具体地址是http://sourceforge.net/projects/mysql-python/ 如果用Ubuntu,直接 sudo...

durban
2012/05/25
0
2
python mysqldb的安装

首先:需要安装setuptools-0.6c11 安装过程: wget -O setuptools-0.6c8.tar.gz http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c8.tar.gz tar xzvf setuptools-0.6c8.......

崔小涣
2014/05/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取整除法

python3.6 中取整除法运算逻辑如下: d 非零,那么商 q 满足这样的关系: a = qd + r ,且0 ≤ r n1=7//3#7 = 3*2 +1n2=-6.1//3#-7 = 3*(-3)+2'{},{}'.format(n1,n2) 从运行结果可以...

colinux
31分钟前
3
0
阶段总结——用虚拟机搭建一个高可用负载均衡集群架构

[toc] linux基本知识已经介绍完,现有一个业务需要操作,通过对这个项目的操作,可以复习、总结、巩固之前的知识点; ** 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,...

feng-01
34分钟前
0
0
mysql 设置utf8字符集 (CentOS)

1.查看数据库及mysql应用目前使用的编码方式 (1)链接mysql 客户端 (2)执行:status 结果: 2.修改mysql 应用的字符编码(server characterset ) (1)打开配置文件:vim /etc/mysql/my...

qimh
35分钟前
0
0
windows无法格式化u盘解决方法

1。点开始-运行-输入cmd-format f: /fs: fat32 (这里f:是指U盘所在盘符) 这个格式化会很慢 请耐心等待

大灰狼wow
46分钟前
0
0
MySql 8.0连接失败

原来,MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_s...

放飞E梦想O
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部