PHPMyAdmin doesn't connect after root password change

33,929

Solution 1

You need to edit the config.inc file in the phpMyAdmin directory (probably C:\xampp\phpMyAdmin) and change this line to match the password you entered for root in phpMyAdmin.

$cfg['Servers'][$i]['password'] = ' ';

Solution 2

If you have installed WAMP, go to the [wamp root]\apps[phpmyadmin installation] and find the file config.inc.php. Then you have the change the following entry to the new password of the root user.

$cfg['Servers'][$i]['password']

save the file and don't forget to restart WAMP services. Now it should work as a charm :)

Share:
33,929
hkBattousai
Author by

hkBattousai

Hello everybody.

Updated on April 19, 2020

Comments

  • hkBattousai
    hkBattousai about 4 years

    I installed Xampp (for Windows). I was happily using it with its all features.

    Then I wanted to change MySql password. I set a randomly generated password (rCZ4Xnz78zbLY2Vh). Then PHPMyAdmin stopped logging in. It started to give the following error message, and it is the same ever since:

    Error
    
    MySQL said:
    Cannot connect: invalid settings.
    
    phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection.
    You should check the host, username and password in your configuration and make sure that
    they correspond to the information given by the administrator of the MySQL server.
    

    Then I edited the `config.inc.php" file of PHPMyAdmin, and made its contents exactly as below:

    <?php
    
    /* Servers configuration */
    $i = 1;
    $cfg['Servers'][$i]['host']         = '127.0.0.1';
    $cfg['Servers'][$i]['port']         = '3306';
    $cfg['Servers'][$i]['ssl']          = FALSE;
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['extension']    = 'mysql';
    $cfg['Servers'][$i]['compress']     = FALSE;
    $cfg['Servers'][$i]['controluser']  = 'root';   
    $cfg['Servers'][$i]['controlpass']  = 'rCZ4Xnz78zbLY2Vh';
    $cfg['Servers'][$i]['auth_type']    = 'config';
    $cfg['Servers'][$i]['user']         = 'root';
    $cfg['Servers'][$i]['password']     = 'rCZ4Xnz78zbLY2Vh';
    $cfg['Servers'][$i]['nopassword']   = TRUE;
    
    /* rajk - for blobstreaming */
    $cfg['Servers'][$i]['bs_garbage_threshold']     = 50;
    $cfg['Servers'][$i]['bs_repository_threshold']  = '32M';
    $cfg['Servers'][$i]['bs_temp_blob_timeout']     = 600;
    $cfg['Servers'][$i]['bs_temp_log_threshold']    = '32M';
    
    /* Other settings */
    $cfg['blowfish_secret'] = '';
    $cfg['DefaultCharset']  = 'utf-8';
    $cfg['UploadDir']       = '';
    $cfg['SaveDir']         = '';
    
    ?>
    

    But I was able to connect to the MySql servier via command line by the same password .

    C:\Users\hkBattousai>mysql.exe --user=root --password=rCZ4Xnz78zbLY2Vh
    mysql.exe: Unknown OS character set 'cp857'.
    mysql.exe: Switching to the default character set 'latin1'.
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 21
    Server version: 5.5.27 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    

    Then I removed the password via the command line interface:

    user-password-removed

    I also removed password from the config.inc.php file. The relevant lines in that file are now:

    $cfg['Servers'][$i]['controluser']  = 'root';
    $cfg['Servers'][$i]['controlpass']  = '';
    $cfg['Servers'][$i]['user']         = 'root';
    $cfg['Servers'][$i]['password']     = '';
    

    Currently, it is strange but, I can connect with the password I deleted, but I cannot connect with empty password:

    C:\Users\hkBattousai>mysql.exe --user=root --password=rCZ4Xnz78zbLY2Vh  // Connects
    C:\Users\hkBattousai>mysql.exe --user=root --password=                  // Error given
    

    I want to assign another random password to this user, and I want to access my database via PHPMyAdmin, as I did within the fresh Xampp installation before. What should I do? I'm really confused and I need your help.

    It is like the config.inc.php file contents are ignored. I copied it from the template file config.sample.inc.php and altered its contents. It is now located in the directory \Xampp\phpmyadmin\.


    Versions:

    Xampp   : 3.1.0
    MySQL   : 5.5.27
    PHP     : 5.4.7
    Apache  : 2.4
    Windows : 7 Ultimate x64 SP1