以下の3つのPEMファイルを使用して、WindowsがMySQLデータベースに正常に接続し、データソースを設定できました。 (ここでは問題ありません)
- クライアント-key.pem
- クライアント証明書.pem
- ca-cert.pem
しかし、Ubuntu Server 10.04でPythonコードを介して接続することもできます。 PythonとMySQL Pythonコネクタの設定があります。ただし、期待どおりに資格情報のみを接続しようとすると失敗します。なぜなら、これらのPEM証明書を送信する認証が必要なからです。
**>>>** import mysql.connector
**>>>** cnx = mysql.connector.connect(user='odbc_user', password='mypassword',host='00.00.000.000',database='mydb')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/mysql/connector/__init__.py", line 179, in connect
return MySQLConnection(*args, **kwargs)
File "/usr/local/lib/python2.6/dist-packages/mysql/connector/connection.py", line 95, in __init__
self.connect(**kwargs)
File "/usr/local/lib/python2.6/dist-packages/mysql/connector/abstracts.py", line 719, in connect
self._open_connection()
File "/usr/local/lib/python2.6/dist-packages/mysql/connector/connection.py", line 210, in _open_connection
self._ssl)
File "/usr/local/lib/python2.6/dist-packages/mysql/connector/connection.py", line 144, in _do_auth
self._auth_switch_request(username, password)
File "/usr/local/lib/python2.6/dist-packages/mysql/connector/connection.py", line 177, in _auth_switch_request
**raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'odbc_user'@'hide.ec2' (using password: YES)**
**>>>**
検索に基づいて試しましたが、進展はありませんでした。
- 3コピー.pemファイルを送信する/usr/share/ca-証明書/〜のように.crt文書。
- Ranは
sudo update-ca-certificates
これを次に追加します/etc/ssl/certs/ca-certificates.crt文書。
私はLinuxの専門家ではなく、私が遭遇するすべてを試してみるだけです。したがって、以前にこれを行ったことがある人は、あなたの助けに心から感謝します。
答え1
>>>import mysql.connector
>>>cnx = mysql.connector.connect(user='odbc_user', password='password',host='00.00.00.000',database='database',
ssl_ca='/home/akelly/ca-cert.pem',
ssl_cert='/home/akelly/client-cert.pem',
ssl_key='/home/akelly/client-key.pem')