14

I typed apt-get install phpmyadmin and ran into an error saying it cannot connect to mysql (socket issue). It was normal because I forget to install mysql before, so I selected "abort" above all options given by phpmyadmin.

Then sudo tasksel and installed lamp server.

Once finished, I ran :

apt-get remove --purge phpmyadmin
apt-get install phpmyadmin

Then mysql -u root -p but I got the following error: Access denied for the following user 'root'@'localhost'

So I solved this problem by doing :

mysql
SET PASSWORD FOR root@localhost=PASSWORD('mypassword'); 
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

Then I successfully logged in localhost/phpmyadmin, but found this message :

The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. To find out why click here.

I clicked here, and it showed me : enter image description here

Can I go on peacefully with mysql/phpmyadmin?

  • Yes that is correct. Make sure that all the $cfg['Servers'][$i] directives are uncommented! – kratos Sep 21 '13 at 2:04
27

OP's answer:

I solved this problem with the following :

cd /usr/share/doc/phpmyadmin/examples
sudo gunzip create_tables.sql.gz 
mysql -u root -p < create_tables.sql
mysql -u root -p -e 'GRANT SELECT, INSERT, DELETE, UPDATE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY "pmapassword"'

Then edited /etc/phpmyadmin/config.inc.php on these lines :

/* Optional: User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapassword';

Logged back in phpmyadmin, and then, the warning message had disappeared.

Also note that you may have a new warning about phpmyadmin storage not completely configured. This can be caused because you need to tell phpmyadmin the name of the tables to use their features. That can be done editing /etc/phpmyadmin/config.inc.php on this lines:

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';

Note the double underscore __.

  • I still had a minor issue I had to comment out the following: – itnet7 Aug 20 '16 at 15:28
  • // $cfg['Servers'][$i]['controluser'] = $dbuser; // $cfg['Servers'][$i]['controlpass'] = $dbuserpwd; to be pma and the password that was set. – itnet7 Aug 20 '16 at 15:34
  • 1
    Don't forget to log out and log back in. – nwolybug Aug 29 '18 at 20:02
  • @nwolybug mysql user permissions are applied immediately – Braiam Aug 29 '18 at 23:44
  • 1
    and don't forget, to reflect the changes you need to login again in phpmyadmin. Page refresh will not work. – kuri Jan 11 '19 at 12:35
2

I also had to change all the tables name in /etc/phpmyadmin/config.inc.php with double underscores ex.

$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; 

because that was the table created after create_tables.sql execution.

| improve this answer | |
2

This Helped Me:

  1. sudo vim /etc/phpmyadmin/config.inc.php
  2. Add the following lines with the other $cfg['Servers'][$i]:

    $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; $cfg['Servers'][$i]['recent'] = 'pma__recent'; $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; $cfg['Servers'][$i]['tracking'] = 'pma__users';

  3. Now try to login to localhost/phpmyadmin. The error message should not show up any more.

In Short, whatever is the missing component error showing up just Add:

$cfg['Servers'][$i][COMPONENT] = 'pma__COMPONENT';

in /etc/phpmyadmin/config.inc.php

| improve this answer | |
1

VestaCP Team made and successfully tested a script to get rid of that annoying message "The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated". We hope the fix will be useful and help users. Visit the Github page for code.

The script:

  • Works from user root
  • Makes a backup of /etc/phpmyadmin/config.inc.php in /root
  • Changes values in /etc/phpmyadmin/config.inc.php
  • Adds a mysql user pma and the table phpmyadmin (if the user or the table already exist, the script will delete them!)
  • Downloads and adds table for the database phpmyadmin
  • Cleans temp files including leftover pma.txt (contains password for pma@localhost) and old config
| improve this answer | |
1

For me: I have to edited /etc/phpmyadmin/config-db.php on this line:

$dbname='phpmyadmin';
| improve this answer | |
  • this helped me. without it, it worked only for root db user, with this also for the another one. – luky Oct 21 '18 at 19:06
0

None of the solutions provided here worked for me.

This issue is happening with the mysql update to 5.6 or 5.7 versions.

I solved it by installing phpmyadmin 4.7 version.

Enjoy

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.