Making MySQL 5.1 work with the old driver
Feb 1 2010
An interesting problem at work that I forgot I knew the answer to. At the agency there is a set of very old Microsoft Access applications getting data from a very old MySQL 4.0 server. The server that the data base resides on is being replaced with a Dell 2950 and I want to upgrade all the software. With MySQL 5.1 installed the Access applications, using the 3.51 driver, could not connect to any of the databases. When checked against the DSN an error came back as: Client does not support authentication protocol.
The next step was to set up an account with no password. The application connected and worked well. That was the moment I thought back to ColdFusion 7 and MySQL 4.1 and remembered the change in the MySQL password hash. In pre 4.1, the password has is only 16 characters. In post 4.1 the password is a 41-byte hash value.
Open the browser to mysql.com and it only took a minute to find a document that offered several options. The simple solution is to set the account password in 5.1 to a pre 4.1 hash. This is easily done the a mysql prompt with: SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('mypass');.
This will make conversion to the new serve easier as it will take several weeks to convert the applications to use the 5.1 driver. This will give me a lot more time to move the Access applications to web based ColdFusion.









