GoDaddy phpMyAdmin error #1045 – Access denied for user

While setting up a new MySQL account at a GoDaddy hosted web site, I kept getting an error when logging in to phpMyAdmin.

Error
#1045 – Access denied for user

For things like database usernames/passwords and other things that I’ll never have to remember or type, I like to use a long string of random characters. One excellent source of such strings is GRC’s Ultra High Security Password Generator. I typically use a subset of the 63 random alpha-numeric characters (a-z, A-Z, 0-9) in the bottom box. This gives me a good mix of uppercase, lowercase, and numbers, which satisfies the requirements of most password systems that require even minimum complexity.

So, I picked a string of characters for the database name and a different string for the password (making sure the password contained at least 1 uppercase character and 1 number), pasted them into the config.php file I was going to use on the project and then pasted them into the database setup form and created my database. No problem.

I gave it 10 or 15 minutes to get all set up and then launched phpMyAdmin. I copied and pasted the username and password from my config file into the log in fields and wham, I got the #1045.

After much second guessing and more copying and pasting, all with no luck, I tried resetting the password back in the Hosting Control Center. I waited a few more minutes for good measure and tried again. Still, #1045 – Access denied for user.

Then it was time to Google, which turned up a thread full of people with the same experience at http://community.godaddy.com/groups/web-hosting/forum/topic/mysql-login-error-1045-access-denied-for-user/?sid&sp=1&topic_page=1&num=15.

Back in the Control Center, I noticed that the mixed case characters I’d used for the database/username had been converted to lowercase. So I tried using the lowercase version at phpMyAdmin and still no luck.

I submitted a support ticket, as recommended in the thread, and then called Customer Support for good measure.

The guy confirmed that the database was in good shape and that the last password reset took effect, then had me reset it again. And of course, when I tried to log into phpMyAdmin a moment later with the lowercase username, it went right in.

The fix (or a plausible explanation, at least)

The lesson learned here, is that even though the new MySQL database setup form will accept mixed case characters as the database name/username, it will silently convert them to lowercase on you. The phpMyAdmin login, then, is case sensitive, so you may want to copy and paste from the Control Center into phpMyAdmin to be sure you’re feeding it the correct username.

6 thoughts on “GoDaddy phpMyAdmin error #1045 – Access denied for user

  1. jaayb

    Had similar issue with my account. After resetting the password and recreating the database several times I called support. Apparently I missed the password length limit requirement. Theres a 14 character limit for the password and I was trying to be secure and use a long password. The funny thing is that it prevents you from creating the database for all other field requirements except the password field. It Allowed me to create a 18 character password but then I couldn’t log in. After changing the password to a 14 character password I was able to log in.

  2. KLD

    Thanks for the post – and to jaayb. Was diagnosing an issue migrating a wordpress site with backupbuddy to a GoDaddy linux server and couldn’t figure out why it wouldn’t connect to the database. Too many characters in the password. Reduced to 14 and got in fine.

  3. tony

    I ran into the same error creating a view and figured out that the launcher in godaddys cpanel logs you in as a guess with limited permissions. The view would only function for 24 hours and give me a user name that I did not know where it came from. I logged out of myphp admin and sign back in with the proper info and remade the table and so far is still working.

Leave a Reply

Your email address will not be published. Required fields are marked *