База данных Mysql не подключается к Python - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь подключить python к mysql этим кодом-- (я использую библиотеку mysql.connect)

import mysql.connector

cnx = mysql.connector.connect(user='root', 
                          password='password',
                          host='127.0.0.1',
                          database='db')
print(cnx)
cnx.close()

Но он продолжает выдавать ошибку -

Traceback (most recent call last):
File "D:/ted/main.py", line 5, in <module>
database='db')
File "C:\Program Files (x86)\Python36-32\lib\mysql\connector\__init__.py", 
line 179, in connect
return MySQLConnection(*args, **kwargs)
File "C:\Program Files (x86)\Python36-32\lib\mysql\connector\connection.py", 
line 94, in __init__
self.connect(**kwargs)
File "C:\Program Files (x86)\Python36-32\lib\mysql\connector\abstracts.py", 
line 722, in connect
self._open_connection()
File "C:\Program Files (x86)\Python36-32\lib\mysql\connector\connection.py", 
line 211, in _open_connection
self._ssl)
File "C:\Program Files (x86)\Python36-32\lib\mysql\connector\connection.py", 
 line 141, in _do_auth
auth_plugin=self._auth_plugin)
File "C:\Program Files (x86)\Python36-32\lib\mysql\connector\protocol.py", 
line 102, in make_auth
auth_data, ssl_enabled)
File "C:\Program Files (x86)\Python36-32\lib\mysql\connector\protocol.py", 
line 58, in _auth_response
auth = get_auth_plugin(auth_plugin)(
 File "C:\Program Files (x86)\Python36- 
32\lib\mysql\connector\authentication.py", line 191, in get_auth_plugin
"Authentication plugin '{0}' is not supported".format(plugin_name))
mysql.connector.errors.NotSupportedError: Authentication plugin 
'caching_sha2_password' is not supported

Process finished with exit code 1

Я запустил сервер MySQL в рабочей среде, а также проверил состояние.Также там находится база данных с именем "db". Также проверяется, является ли хост правильным.-> Удален также ssl.

1 Ответ

0 голосов
/ 02 декабря 2018

Кажется, что ваша версия MySQL Server - 8.x, и в этом случае соединитель MySQL по умолчанию - caching_sha2_password.С другой стороны, ваша ошибка может быть связана с тем, что ваш клиентский клиент Python не поддерживает этот плагин аутентификации , и вы должны явно изменить плагин аутентификации на старый (mysql_native_password).

cnx = mysql.connector.connect(user='root', password='password',
                          host='127.0.0.1', database='db',
                          auth_plugin='mysql_native_password')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...