我使用的是Python 2.5.4版本,安装MySQL 5.0版本和Django。Django和Python配合得很好,但MySQL不行。我在Windows Vista中使用它。


当前回答

Python 3

确定进口顺序:

#BAD
import MySQLdb             # <------ NOT here
import pymysql
pymysql.install_as_MySQLdb()

#GOOD
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb              # <------- HERE!

其他回答

适用于CentOS 8和Python3

安装python3-mysqlclient

适用于Python 3+版本

安装mysql-connector如下:

pip3 install mysql-connector 

示例Python DB连接代码:

import mysql.connector
db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd=""
)
print(db_connection)

输出:

> <mysql.connector.connection.MySQLConnection object at > 0x000002338A4C6B00>

这意味着数据库已正确连接。

在我通过docker镜像重新安装Ubuntu 18.04时,上述方法都不适用。

下面为我解决了这个问题:

安装荷兰python3-mysqldb

如果你正在使用SQLAlchemy,错误在/site-packages/ SQLAlchemy /dialect /mysql/mysqldb.py:

from ...connectors.mysqldb import (
                        MySQLDBExecutionContext,
                        MySQLDBCompiler,
                        MySQLDBIdentifierPreparer,
                        MySQLDBConnector
                    )

因此,您可能错过了SQLAlchemy的mysqldb连接器,解决方案是在安装mysql-python模块后重新安装SQLAlchemy。

我在ubuntu (linux),对我有用的是

sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

最后

pip install mysqlclient