天天看点

debian pip mysql_debian下为python2.7 安装MySQLdb扩展(mariadb)

一、前言

本来安装MySQLdb的帖子多如过江之鲤鱼,实在是数不胜数,奈何他们服务器上安装的都是mysql,而现在的新服务器,默认下载安装的都是mariadb,所以这篇文章主要记录一下如何安装mariadb对应的MySQLdb扩展。

二、debian下安装

本来以为linux下直接pip install就能下载了,但是实际操作的时候要是要注意的。

比如网上的方案是:

apt-get install libmysql-dev

apt-get install libmysqlclient-dev

apt-get install python-dev

pip install mysqlclient

这些命令一般情况下是没问题的,但是本机上安装的是maraidb,那就扯淡了

MariaDB [(none)]> select version();

+--------------------------+

| version() |

+--------------------------+

| 10.1.38-MariaDB-0+deb9u1 |

+--------------------------+

搜索apt的源发现没有相应的libmysql-dev 之类的,搜索如下:

[email protected]:/var/www/python$ sudo apt-cache search libmysql

libglpk40 - linear programming kit with integer (MIP) support

libcrypt-mysql-perl - Perl module to emulate the MySQL PASSWORD() function

libmysql-diff-perl - module for comparing the table structure of two MySQL databases

libreoffice-base-drivers - Database connectivity drivers for LibreOffice

solr-common - Enterprise search server based on Lucene3 - common files

libmariadbclient-dev-compat - MariaDB database development files (libmysqlclient compatibility)

libmysql++-dev - MySQL C++ library bindings (development)

libmysql++-doc - MySQL C++ library bindings (documentation and examples)

libmysql++3v5 - MySQL C++ library bindings (runtime)

libmysqlcppconn-dev - MySQL Connector for C++ (development files)

libmysqlcppconn7v5 - MySQL Connector for C++ (library)

libmysql-java - Java database (JDBC) driver for MySQL

libmysql-cil-dev - MySQL database connector for CLI

libmysql6.4-cil - MySQL database connector for CLI

default-libmysqlclient-dev - MySQL database development files (metapackage)

libmysql-ocaml - OCaml bindings for MySql (runtime package)

libmysql-ocaml-dev - OCaml bindings for MySql (development package)

node-mysql - MySQL client implementation for Node.js

搜索出来的源感觉不是那么对,但是有个源的名称叫:libmariadbclient-dev-compat ,那么会不会是要下载libmariadb的源文件呢,搜索下libmariadb对应的扩展看看:

[email protected]:/var/www/python$ sudo apt-cache search libmariadb

libmariadbclient-dev - MariaDB database development files

libmariadbclient-dev-compat - MariaDB database development files (libmysqlclient compatibility)

libmariadbclient18 - MariaDB database client library

libmariadbd-dev - MariaDB embedded database, development files

libmariadbd18 - MariaDB embedded database, shared library

libmariadb-dev - MariaDB Connector/C, development files

libmariadb-dev-compat - MariaDB Connector/C, compatibility symlinks

libmariadb2 - MariaDB Connector/C

default-libmysqlclient-dev - MySQL database development files (metapackage)

果然libmariadb的源文件和推荐命令十分相似,安装试试:

apt-get install libmariadbd-dev

apt-get install libmariadbdclient-dev

apt-get install python-dev

pip install mysqlclient

执行完毕之后,测试:

[email protected]:/var/www/python$ python

Python 2.7.13 (default, Sep 26 2018, 18:42:22)

[GCC 6.3.0 20170516] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import MySQLdb

>>> exit()

成功引入无报错,则代表正常安装MySQLdb,记录一下。

end