How to change root password of phpmyadmin in WAMP?

20,583

Solution 1

To change the default mysql root password on xampp, type the following on mysql console:

UPDATE mysql.user SET Password=PASSWORD('som3P@Ss') WHERE User='root'; 
FLUSH PRIVILEGES;

then open [XAMPP Installation Path] /phpmyadmin/config.inc.php and modify it to:

$cfg['Servers'][$i]['password'] = 'som3P@Ss';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

Solution 2

Once you have changed the root password you need to tell phpMyAdmin what the new password is as by default the root password is held in the c:\wamp\apps\phpmyadmin4.1.14\phpmyadmin.conf file.

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['verbose'] = 'mysql wampserver';
//$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'YOUR_NEW_PASSWORD';        <--change
/* Server parameters */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
//$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = false;              <--change

A better solution in my opinion is to change this file so that phpMyAdmin throws a login screen so you can enter/test new accounts as well as just root

So I would change c:\wamp\apps\phpmyadmin4.1.14\phpmyadmin.conf to

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['verbose'] = 'mysql wampserver';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
//$cfg['Servers'][$i]['auth_type'] = 'config';
//$cfg['Servers'][$i]['user'] = 'root';
//$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

Now you will get a login screen like this

enter image description here

Share:
20,583
Chand Sethi
Author by

Chand Sethi

Updated on December 28, 2020

Comments

  • Chand Sethi
    Chand Sethi over 3 years

    I opened mysql console and wrote the following :

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

    Now when I open phpmyadmin, it says "Access denied for user 'root'@'localhost' (using password: NO)"

    I was trying to set a password for root and I read it somewhere that we change root password from console itself, unlike previous versions where we had to alter the config files.

    Any detailed tutorial on changing root password to secure a database?

    I'm new to all this. Thank you.