Метод аутентификации mysql_old_password не поддерживается
Обновлен коннектор mysql. Нет, чтобы провайдер версии 6.6.4 интегрировался с Visual Studio 2012, но теперь, когда я пытаюсь настроить соединение с edmx, возникает ошибка "Метод аутентификации" mysql_old_password "не поддерживается".
3 ответа
Это сообщение об ошибке отображается при подключении к базе данных MySQL, пароли которой хранятся в старом формате паролей ( http://dev.mysql.com/doc/refman/5.0/en/old-client.html). Более новые клиенты MySQL не позволяют устанавливать соединение с базами данных, используя старый формат пароля, поскольку он менее безопасен.
Некоторые предложили бы установить old_passwords=1
на сервере MySQL, но я думаю, что было бы лучше обновить пароли до нового формата паролей. Тогда соединение MySQL можно будет установить заново, и ваша база данных будет лучше защищена.
Вы можете прочитать о том, как обновить ваши пароли MySQL от старого формата до нового формата здесь: http://code.openark.org/blog/mysql/upgrading-passwords-from-old_passwords-to-new-passwords
MysqL Connector/NET 6.6.x (по состоянию на 6.6.2) отказался от поддержки аутентификации в старом стиле (она устарела из-за небезопасности и были задокументированы способы ее атаки).
При попытке использовать его со старой учетной записью в стиле пароля вы получите ошибку переполнения арифметики (допустим, более дружественная ошибка будет лучше).
Как указано в этом отчете об ошибке: http://bugs.mysql.com/bug.php?id=66647 Для Connector / NET вы должны использовать пароли в стиле Native 4.1 (это old_passwords=0).
Другой вариант - Аутентификация в стиле Windows, которая также поддерживается, но вам понадобится коммерческая версия MySql (стандартный сервер MySql не поддерживает аутентификацию Windows).
Mysql_old_password был временным и должен был использоваться для более старых клиентов MySQL после 4.1.1 для аутентификации на сервере MySQL до 4.1.1.
Установка вар old_passwords=1
на ваших серверах mysql my.ini должен включить эту функцию.