●Connector/Python
Connector/Pythonには100%Pytonで記述された「Pure Python版」と、C言語やC++で実装されている「C拡張版」が存在する。
Pure Python版はPythonの実行環境さえあれば利用可能である。
C拡張版はインストールする必要はあるが、パフォーマンスが良い。
Connector/Pythonの他にもライブラリは存在するが、Oracle社が公式にサポートしているのはConnector/Phthonだけである。
●Connector/Pythoが対応しているMySQLとPythonのバージョン
MySQL :: MySQL Connector/Python Developer Guide :: 3 Connector/Python Versions
●Connector/Pythonのインストール方法
[pipの場合]
pip install mysql-connector-python
[Anacondaの場合]
conda install -c anaconda mysql-connector-python
[それ以外の場合]
https://dev.mysql.com/downloads/ にアクセスし、「Connector/Python」をクリックし、その後パッケージをインストール
●サンプルコード
import mysql.connector config = { 'user' : 'hogehoge', 'password' : 'password', 'host' : '127.0.0.1', 'database' : 'mysql' } try: conn = mysql.connector.connect(**config) print(conn.is_connected()) except mysql.connector.Error as err: print("VendorError:", err.errno) print("SQLState:", err.sqlstate) print("SQLException:", err.msg) else: conn.close()
●主なエラー一覧
詳細は書籍に記載有
●MySQL8.0.11で発生しがちなエラー(SSL通信関連)について
Connector/Pythonはバージョン8.0.11以降、C拡張版がデフォルトで利用される。これにより、リモートホストからMySQLサーバーに接続する際に、SSL暗号化通信が有効化される。
SSL暗号化通信を無効化する事でエラーを解消するには、コネクション生成時に以下のパラメータを指定すれば良い。
C拡張版の場合:ssl_disabled=True
Pure Pythonの場合:use_ure=True