it-swarm.com.ru

кеширование пароля sha2 не поддерживается mysql

я пытаюсь заставить мою программу на Python вставлять данные в MySQL, и я следовал инструкциям, однако я получаю ошибку ниже.

«Плагин аутентификации« {0} »не поддерживается» .format (plugin_name)) Mysql.connector.errors.NotSupportedError: Плагин аутентификации «caching_sha2_password» не поддерживается »

я пропустил настройку на сервере MySQL или Python еще не поддерживает это?

Я думаю, что я могу просто изменить тип пароля, но mysql не хочет, чтобы я по какой-то причине не мог изменить всех пользователей с caching_sha2_password, и когда я создаю нового пользователя и выбираю пароль SHA256, я получаю сообщение об ошибке при создании учетной записи @% хеш пароля не имеет ожидаемого формата. проверьте, что правильный алгоритм пароля используется с функцией PASSWORD ().

#!/user
# -*- coding: utf-8 -*-

from __future__ import print_function
import urllib.request
import numpy as np
import mysql.connector as mysql

from datetime import date, datetime, timedelta



cnx = mysql.connect(user='root', password='password', database='powergrid')

cursor = cnx.cursor()

tomorrow = datetime.now().date() + timedelta(days=1)

idfueltype= cursor.lastrowid

add_fueltype = ("INSERT INTO fueltype"
                "(idfueltype, fueltypecol, demand)"
               "VALUES(%s, %s, %s)")

fueltype_data = (idfueltype, 'coal', 10000)

cursor.execute(add_fueltype, fueltype_data)

cnx.commit()

cursor.close()
cnx.close()
3
adam Wadsworth

Мне удалось это исправить. В конце концов, я использовал версию Python в Anaconda, которая просто не установила версию 8.0.11 коннектора python, мне удалось установить 8.0.11 на мой Vanilla python 3.6.5 с помощью Windows PowerShell (в привилегиях администратора) и используя pip install MySQL-connector-python (я думаю, мне также пришлось обновить пип с 9 до 10.

11
adam Wadsworth

У меня такая же проблема 

Msgstr "Плагин аутентификации '{0}' не поддерживается" .format (plugin_name)) mysql.connector.errors.NotSupportedError: Плагин аутентификации 'caching_sha2_password' не поддерживается "

Это происходит потому, что ваш Python connector не поддерживает подключаемый модуль аутентификации caching_sha2_password, и вам необходимо обновить его. Я исправил это, установив правильный соединитель Python с официальный сайт MySQL . Обязательно загрузите правильный соединитель в зависимости от вашей операционной системы, версии MySQL и используемой версии Python.

3
Giuseppe Marcucci

Устанавливает диск для python3.

python3 -m pip install mysql-connector-python

Устанавливает диск для Python по умолчанию, предварительно установленный в вашей системе производителем.

python -m pip install mysql-connector-python
2
Dreamskeepmeup

Кажется, этот пакет работает для меня: Sudo pip install MySQL-connector-python

1
Allen211

MySQL 8.0 сделал caching_sha2_password аутентификацией по умолчанию для новых учетных записей, что требует использования обновленных соединителей для ее использования. Кроме того, вы можете изменить учетную запись, чтобы использовать собственный метод аутентификации (но это менее безопасно).

0
Mike Lischke