mysql-connector-pythonでMySQL・MariaDBに接続する

mysql-connector-pythonでMySQL・MariaDBに接続する プログラミング

選択肢が多いと悩むことになりがちです。
PythonからMySQL・MariaDBへ接続する場合も、そのケースかもしれません。

多くのライブラリが用意されていて、悩むことになります
その状況において、安心感を重視するなら、mysql-connector-pythonがおススメとなります。

本記事の内容

  • mysql-connector-pythonとは?
  • mysql-connector-pythonのシステム要件
  • mysql-connector-pythonのインストール
  • mysql-connector-pythonの動作確認

それでは、上記に沿って解説していきます。

mysql-connector-pythonのシステム要件

現時点(2021年5月末)でのmysql-connector-pythonの最新バージョンは、8.0.25となります。
この最新バージョンは、2021年5月11日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応となります。

  • Windows
  • macOS
  • Linux

そして、サポート対象となるPythonのバージョンは以下。

  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9

さすがに、MySQLの公式(Oracle)が開発しているだけはあります。
以下のPythonの公式開発サイクルに準じています。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月
3.72018年6月27日2023年6月
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月

上記より、mysql-connector-pythonは基本的にはどんなOSでも動きます。
ただし、Pythonのバージョンが古いのはアウトという感じですね。

以上、mysql-connector-pythonのシステム要件の説明でした。
次は、mysql-connector-pythonをインストールしていきます。

mysql-connector-pythonのインストール

最初に、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.1.2
setuptools 57.0.0

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、mysql-connector-pythonインストールです。
mysql-connector-pythonのインストールは、以下のコマンドとなります。

pip install mysql-connector-python

インストールは、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list
Package                Version
---------------------- -------
mysql-connector-python 8.0.25
pip                    21.1.2
protobuf               3.17.1
setuptools             57.0.0
six                    1.16.0

依存するパッケージは、2つだけですね。
そのため、mysql-connector-pythonの導入は比較的容易と言えます。

以上、mysql-connector-pythonのインストールの説明でした。
最後に、mysql-connector-pythonの動作確認を行います。

mysql-connector-pythonの動作確認

シンプルな動作確認用のコードを用意しました。

import mysql.connector

# コネクション作成
conn = mysql.connector.connect(
    host='サーバーのIP',
    port='3306',
    user='DBユーザー',
    password='パスワード',
    database='データベース名'
)

# 接続状況確認
print(conn.is_connected())

# カーソル作成
cur = conn.cursor()

# 1件取得
cur.execute("select version()")
print(cur.fetchone())

# DB操作終了
cur.close()

上記を実行すると、次の結果が得られます。
もちろん、接続が上手くいった場合です。

True
('10.4.17-MariaDB',)

ソースのコメントを見れば、何を表しているかはわかるでしょう。
この動作確認では、テーブルを用意する必要がありません。
かなりシンプルに動作確認が可能です。

念のために結果を説明しておきます。
「True」と出れば、データベースに正常に接続できています。
そして、そのあとにデータベースのバージョンが表示されます。

mysql-connector-pythonは、MySQLでもMariaDBでも接続可能ということがわかりますね。
以上、mysql-connector-pythonの動作確認の説明でした。

タイトルとURLをコピーしました