2013-03-08 4 views
2

Мне нужно было подключиться к базам данных MYSQL через asp.net. Я использую MySQL Connector, чтобы установить соединение с базой данных, но, делая это, я имею эту ошибку: enter image description hereНе удалось подключиться к удаленному серверу MySql в Asp.Net

 
Authentication with old password no longer supported, use 4.1 style passwords. 
+0

Вы видели [это] (http://forums.cpanel.net/f34/old-style-passwords-settings-when-using-mysql-5-x-150333.html)? –

+0

My Connection String:

ответ

5

С MySQL 4.1 и выше, они используют новый протокол, который не совместим с более ранними версиями. Именно поэтому при обновлении сервера с более ранней версии до версии 4.1 или выше вы получаете сообщение об ошибке аутентификации.

Если вам необходимо подключиться к базе данных с обоими клиентами до и после версии 4.1, вы должны иметь два пароля. Один старый путь и один новый путь.

Вы можете установить пароль пользователей к новому, используя:

SET PASSWORD for <username> = PASSWORD('new password') 
SET PASSWORD FOR 'steve'@'10.15.2.67' = PASSWORD('my secure password'); 

При необходимости вы также можете установить пароли к старому, используя:

SET PASSWORD for <username> = OLD_PASSWORD('new password') 
SET PASSWORD FOR 'steve'@'10.15.2.67' = OLD_PASSWORD('my secure password'); 

Существует большая страница в MySQL manual, который будет подробно описывать процесс

Вы можете на самом деле для сервера, если новее 4.1, чтобы использовать старый метод пароля, однако это не рекомендуется.

Для этого вы можете запустить сервер с опцией --old-passwords.

Таким образом, либо сервер обновляется и вы используете старый клиент - или вы обновили свой клиент (который теперь использует новую систему паролей) и ваши подключения к серверу ниже 4.1

+0

Это больше похоже на комментарий, чем на ответ. – Kermit

+0

Я подключаюсь к базе данных. Как я могу изменить свой пароль на live? –

+1

@AarolamaBluenk, вы правы, я ленился. Я обновил свой ответ, чтобы получить реальный ответ, а не комментарий с решением. – Steve

0

нормально, но если у вас нет разрешения, чтобы сделать это, просто потому, что вы находитесь в среде виртуального хостинга:

SET PASSWORD for <username> = OLD_PASSWORD('new password') 
SET PASSWORD FOR 'steve'@'10.15.2.67' = OLD_PASSWORD('my secure password'); 

Что можно сделать? Я не нашел обходного пути, и мой хостинг-провайдер изменил конфигурацию mysql без предупреждения ... и не дал решений.

UNOLPLETE SOLUTION Вы можете заставить web.config использовать старый разъем. Кажется, что работает, но возникают ошибки mysql ... поэтому я думаю, что есть ошибка где-то в коннекторах.

Смежные вопросы