MySQL ADO.NET authentication method not supported - mysql

Recently I started a project where it is required to access a MySQL server hosted on hostgator's server from a WCF project. I downloaded and installed MySQL ADO.NET connector and tried to create an entity data model but it says Authentication method 'mysql_old_password' not supported. What should I do? I have been googling but to no avail.
This is my first time using MySQL.
Any help would be greatly appreciated.
Thanks in advance
Sincerely,
Ling!
Screenie

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

Related

Cannot connect to another server database (Authentication with old password...)

I try to connect to another server and database for transfer data purposes.
But unfortunately the image below appear. May I know the reason and can show me how we can create connection to that server?
My current server using latest version (MySQL 8) and other database that I want to connect using MySQL 5(something like that). Please advice Thank you.
IMAGE :
MySQL-8.0 doesn't support the "old password" mechanism from MySQL-4.X. Update the database driver and it will hopefully connect correctly.

New authentificaion protocol of MySQL 8.0

In MySQL 8.0.4 there is a new client <-> server authentificaion protocol. When I try to connect from my client to the MySQL server, the MySQL server responses:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Until now, I connect to the MySQL directly from my application - without the libMySQL.dll. So I communicate without a library directly via TCP/IP. Now I have to implement the new authentification. Where do I get information about the new client server protocol?
Inside the MySQL Internals Manual I don't find information about it. Is this not update to date?
Other MySQL client applications are having the same problem. So it's not a problem of my developing language - it's a problem of the client <-> server protocol of the MySQL server. (I'm using Delphi and my client library has more than 3000 lines of code.)
I'm looking for a solution working with each MySQL server - not only for my one. So changing the password storing is not a solution for me.
For MySQL 8 the default authentication is now SHA-2 which you can read about here: https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html
You should probably use it however if you don't wish to you can change the default to the legacy mode for any given user with something like this:
ALTER USER myUser IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
That will force the old method if you're looking for a quick fix.
You don't (I suspect) want to start altering the source code for your client because then you have a branched version of it which is going to make deployment and updating on your servers a nightmare. You're better off simply waiting until such time as a new version of your client software is available that supports the new method.
MySQL source is here:
https://github.com/mysql

How to create MySQL data connection in Pentaho Server

I have installed the enterprise edition of Pentaho BA server and I need to create a MySQL Data source. For that, I have to create a new database connection. But under the Database types, it doesn't show MySQL as a database type. How to add MySQL database type for that. Can someone help here?
Please note that this is a community forum. It seems the fundamentals remain the same for community and enterprise editions, though.
In Pentaho community edition you will get a link below database name for adding any new databases that are not in the list of available types. You have to add the jdbc database driver jar file under "biserver-ce\tomcat\lib" and restart the server. The new database type should appear in the list.

Access MySql with HeidiSql

I do project and I use MySql. I like HeidiSql interface and generally this, so I would like to connect to my local database. But I really feel and maybe I am dumb because whatever host name I put I have errors. Anyway when I type ##hostname in cmd I see my windows authentication username, which also does not work for me.
Mysql Workbench work properly...
Default authentication plugin for MySQL has been changed in recent versions. Not all client programs out there have added support for it yet. You can check if HeidiSQL has released any latest version which adds this support. If it is not, then only solution is to change default authentication plugin on MySQL server and recreate the user. It is described in below links.
https://www.heidisql.com/forum.php?t=24939
https://github.com/HeidiSQL/HeidiSQL/issues/163

Is there an "easy" way to migrate users on website database from MsSql authentication provider to MySql authentication provider?

I have a website built on ASP.NET using the built-in authentication provider. I want to move from using Microsoft SQL Server to MySql.
I have managed to get the data copied over, but the MySql authentication provider uses an integer type ID field rather than the GUID type that the Microsoft SQL Server provider uses.
Is there an easy way (tool or script) to copy over the users and update the id all of the linked records? I can do it manually if necessary but I figured that someone might know a better way.
Thanks in advance!
Migrating users from SQL Server to MySQL will be a manual process. I am not aware of a script to do that.