首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Python 安裝 MySQLdb 驅動程式完整教學(Windows 與 Linux)

     編輯:Java 相關知識

前言

MySQLdb (Python 2) / mysqlclient (Python 3) 是 Python 連接 MySQL 最常用的驅動。本文涵蓋 Windows、Ubuntu、CentOS 的安裝步驟與常見錯誤排查。

Windows 安裝

  1. 下載預編譯 .whl:PyPI mysqlclient(按 Python 版本與位數選擇)。
  2. 命令行安裝:pip install mysqlclient‑1.4.6‑cp38‑cp38m‑win_amd64.whl
  3. 驗證:python -c "import MySQLdb; print('OK')"

Linux 安裝 (源碼編譯)

Ubuntu / Debian

sudo apt-get update
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential -y
pip3 install mysqlclient

CentOS / RHEL

sudo yum install gcc python3-devel mysql-devel -y
pip3 install mysqlclient

常見錯誤與解決

錯誤現象原因解決方案
mysql_config not foundMySQL 開發庫未裝或非標準路徑安裝 libmysqlclient-dev / mysql-devel;或 ln -s /usr/local/mysql/bin/mysql_config /usr/bin/
x86_64-linux-gnu-gcc not found缺少編譯工具鏈apt-get install build-essential / yum groupinstall "Development Tools"
command 'gcc' failed with exit status 1缺少 Python.h 或 MySQL 头文件安裝 python3-dev / python3-devel 及 mysql-devel

連接測試代碼

import MySQLdb

conn = MySQLdb.connect(
    host='192.168.2.14',
    port=3306,
    user='root',
    passwd='123456',
    db='demo',
    charset='utf8'
)

cur = conn.cursor()

# 建表示例
cur.execute("""
    CREATE TABLE IF NOT EXISTS teacher (
        id INT(5), name VARCHAR(20), class VARCHAR(20), age VARCHAR(10)
    )
""")

# 參數化插入(防注入)
cur.execute("INSERT INTO teacher VALUES (%s,%s,%s,%s)", (23, 'zhangsan', 'science', 15))

# 批量插入
data = [(11,'wangwu','art',23), (8,'john','math',22), (3,'Tom','physical',25)]
cur.executemany("INSERT INTO teacher VALUES (%s,%s,%s,%s)", data)

# 查詢
cur.execute("SELECT * FROM teacher")
print("總行數:", cur.rowcount)
for row in cur.fetchall():
    print(row)

# 提交與關閉
conn.commit()
cur.close()
conn.close()

重要提醒

  • MySQL 綁定地址:預設僅監聽 127.0.0.1。需修改 /etc/mysql/my.cnf (或 mysqld.cnf):bind-address = 0.0.0.0 允許遠程連接,重啟 systemctl restart mysql。
  • Python 3 必用 mysqlclient:原 MySQLdb 僅支援 Python 2,mysqlclient 是其分支並支援 Python 3,導入名仍為 MySQLdb。
  • 連接池:生產環境建議使用 DBUtils 或 SQLAlchemy 管理連接池。

總結

核心步驟:安裝系統依賴 → pip 安裝 mysqlclient → 配置 MySQL 遠程訪問 → 參數化 SQL 操作。遇到編譯錯誤 99% 為缺少開發包,對症安裝即可。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved