Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Authentication method 'mysql_old_password' not supported

Updated the mysql connector. Net to version 6.6.4 provider to integrate with visual studio 2012, but now when I try to configure the connection to the edmx occurs the error "Authentication method 'mysql_old_password' not supported".

like image 933
Cristiano Nascimento Avatar asked Dec 04 '12 15:12

Cristiano Nascimento


People also ask

Does MySQL Connector support old password style authentication?

2 MysqL Connector/NET 6.6.x (as of 6.6.2) dropped support for old password style authentication (it was deprecated due to being insecure and there were documented ways to attack it). When trying to use it with old password style account, you will get an Arithmethic overflow error (granted, a more friendly error would be better).

What type of authentication does the MySQL server support?

For earlier servers it's always mysql native authentication or old password authentication depending on the CLIENT_SECURE_CONNECTION flag. Client and server negotiate what types of authentication they support as part of the Connection Phase and Determining Authentication Method.

Is the MySQL_native_password authentication plugin still relevant?

As of MySQL 5.7.5, only the information about 4.1 password hashes and the mysql_native_password authentication plugin remains relevant. MySQL lists user accounts in the user table of the mysql database.

Why do I get an authentication error when connecting to MySQL?

When connecting to MySQL, I get an authentication error. Authentication errors occur when you attempt to connect to MySQL using an application like MySQL Workbench or a version 5.x client that does not support the caching_sha2_password.


2 Answers

This error message is shown when you are connecting to a MySQL database that has its passwords stored in the old password format (http://dev.mysql.com/doc/refman/5.0/en/old-client.html). Newer MySQL clients do not allow a connection to be made to databases using the old password format as it is less secure.

Some would suggest to set old_passwords=1 at the MySQL server, but I think it would be better to upgrade the passwords to the new password format. Then the MySQL connection can be setup again and your database will be better protected.

You can read about how to upgrade your MySQL passwords from the old format to the new format here: http://code.openark.org/blog/mysql/upgrading-passwords-from-old_passwords-to-new-passwords

like image 78
Erik Schierboom Avatar answered Sep 28 '22 07:09

Erik Schierboom


MysqL Connector/NET 6.6.x (as of 6.6.2) dropped support for old password style authentication (it was deprecated due to being insecure and there were documented ways to attack it).

When trying to use it with old password style account, you will get an Arithmethic overflow error (granted, a more friendly error would be better).

As stated in this bug report: http://bugs.mysql.com/bug.php?id=66647 For Connector/NET you have to use Native 4.1 style passwords (which is old_passwords=0).

Other option is Windows Style Authentication, which is also supported, but you'll need some MySql commercial edition (standard MySql server doesn't have support for windows authentication).

like image 28
Fernando Gonzalez Sanchez Avatar answered Sep 28 '22 08:09

Fernando Gonzalez Sanchez