Base TDA 3.5 MySQL Authentication Error

Just upgraded our sandbox to TDA 3.5 (Base).

On my first attempt to connect to a MySQL database with credentials I have used many times with TDA 3.4.x, I get an error:

“Authentication with old password no longer supported, use 4.1 style passwords.”

That’s as far as I get. I can’t really tell if it is TDA or MySQL who is complaining, but I am basically out of business with 3.5

… and, man, oh, man, do I want that Google Analytics connection.

Comments, please!

That error is coming from MySQL. See if this article helps.

forums.mysql.com/read.php

I agree that the error is coming from our MySQL server. After reading the article Debbie offered and spending a somewhat long and frustrating day learning more about MySQL server configurations than someone like me should ever know, I am still unable to connect to our MySQL server using both the base release of TDA 3.5 and a trial of the Pro version of TDA 3.5.

At this point, I have to turn the conversation back to TDA developers. TDA version 3.4.0.2059 will connect to any of our MySQL databases using passwords input via CPanel > MySQL Databases > Database Users.

Why would 3.4 work properly and 3.5 fail? There has to something that changed from 3.4 to 3.5.

I am also able to connect to our databases using MySQL Workbench, but only if I set the “Use the old authentication protocol” to yes. Perhaps it would be possible to add a similar setting to the connectoid properties in TDA.

I am loathe to make global changes to the MySQL server startup string since there are a number of websites we run that are working just fine now.

Ok, so what seems to happen here is that the component we currently use for connecting to MySQL (MySQL.Data) has discontinued support for using the old style of password hashing (Updated in MySQL 4.1 so a very long time ago) because it is insecure. When we upgraded this component with the 3.5 release we also got this new behavior.

What you can do to fix this is simply setting your password again using this script (Unfortunately you need to do this with something that can actually connect so perhaps TDP 3.4 or the mysql.exe command line tool). If you use TDP then the SQL Editor will work great for this.

SET SESSION old_passwords=0;

SET PASSWORD=PASSWORD(‘YOURDATABASEPASSWORD’);

You would replace the YOURDATABASEPASSWORD string with the actual password you want to use.

This should rehash your password with the new hashing mechanism in MySQL and you should be able to connect using TDP 3.5.

Thanks, Henrick. That finally did it.

What as strange was that I ran that little script a dozen times yesterday and could not get it to work. Today I come back to ready to do battle to get it right. Started off by just trying to connect. Bingo! Worked like a charm and does not effect anything still in 3.4.

Debbie’s original lead to the article was absolutely correct. I just couldn’t understand it.

As usual, great support for this product!