Access denied for user 'root'@'localhost' (using password: NO)

I am trying to start up phpmyadmin in a WAMP environment.
(Apache 2.2.8, php 5.2.6). I am getting the error message:
MySQL said: #1045 - Access denied for user 'root'@'localhost' (using password: NO)
The file: contains the line: $cfg['Servers'][$i]['password']      = '';
What is the problem ?
Who is Participating?
Guy Hengel [angelIII / a3]Connect With a Mentor Billing EngineerCommented:
I am not sure, never tried such a thing.
but if you get both the .exe config of the WAMP and the mysql config aligned, it should work.
Guy Hengel [angelIII / a3]Billing EngineerCommented:
the problem is that root must have a non-blank password.
so you have to 1) change the root password
2) change the config file to use that password
3) secure the config file so that really only authorized people can read (modify) the file, containing the password in clear text.
For complete take a look at here..

For windows...

The procedure under Windows:

Log on to your system as Administrator.

Stop the MySQL server if it is running. For a server that is running as a Windows service, go to the Services manager:

Start Menu -> Control Panel -> Administrative Tools -> Services

Then find the MySQL service in the list, and stop it.

If your server is not running as a service, you may need to use the Task Manager to force it to stop.

Create a text file and place the following command within it on a single line:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

Save the file with any name. For this example the file will be C:\mysql-init.txt.

Open a console window to get to the DOS command prompt:

Start Menu -> Run -> cmd

We are assuming that you installed MySQL to C:\mysql. If you installed MySQL to another location, adjust the following commands accordingly.

At the DOS command prompt, execute this command:

C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt

The contents of the init-file are executed at server startup, changing the root password. After the server has started successfully you should delete C:\mysql-init.txt.

Users of MySQL 4.1 and higher who install MySQL using the MySQL Installation Wizard may need to specify a defaults-file:

C:\>C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt

The appropriate defaults-file setting can be found using the Services Manager:

Start Menu -> Control Panel -> Administrative Tools -> Services

Find the MySQL service in the list, right-click on it, and choose the Properties option. The Path to executable field contains the defaults-file setting.

Stop the MySQL server, then restart it in normal mode again. If you run the server as a service, start it from the Windows Services window. If you start the server manually, use whatever command you normally use.

You should be able to connect using the new password.
pillmillAuthor Commented:
Thanks. I went through the steps and found that I have
two MySQL installations. One is a manual one with an automatic
startup of the server. The other is a WAMPS all-in-one installation.
I removed MySQL using the control panel, but the code in C:\MySQL
is still there. The properties for the MySQL server service is set to
the .exe in this directory.

Can I reset the .exe in the server control panel to C:\WAMPS\MySQL and
follow the steps that you outline ?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.