#3945 ShowDatabasesCommand configuration setting ignored in navigation panel since 4.0.0

4.0.0
wont-fix
Marc Delisle
2
2013-11-01
2013-05-18
candev
No

The ShowDatabasesCommand configuration setting is ignored since version 4.0.0 in the navigation panel (perhaps other places also). This has significant performance considerations in large shared hosting environments where there are many databases and tables.

Discussion

  • Marc Delisle
    Marc Delisle
    2013-06-04

    Hi,
    which MySQL version is running in this environment?

     
  • candev
    candev
    2013-07-13

    Sorry for the delay. I did not see your update.

    Software version: 5.1.68 - Source distribution (BetterLinux 01 Mar 19 2013 21:38:21)

     
  • Marc Delisle
    Marc Delisle
    2013-10-14

    • assigned_to: Marc Delisle
     
  • Marc Delisle
    Marc Delisle
    2013-10-14

    candev,
    I am working on this bug. Are you using this in the ShowDatabasesCommand:
    SHOW DATABASES LIKE '#user#_%'

     
  • candev
    candev
    2013-10-14

    I'm using the false setting.

    $cfg['Servers'][$i]['ShowDatabasesCommand'] = false;

     
  • Marc Delisle
    Marc Delisle
    2013-10-15

    Ok, and you have set this directive too?
    $cfg['Servers'][$i]['only_db']

    Also, do you know how many databases there are on this server?

     
  • candev
    candev
    2013-10-15

    Yes, I have an array of 2 databases for 'only_db' setting. I don't know for sure, but I suspect there are thousands of databases on this free hosting server.

     
  • Marc Delisle
    Marc Delisle
    2013-10-15

    Ok. A thought: when only_db is used, I think that you shouldn't have to set
    $cfg['Servers'][$i]['ShowDatabasesCommand'] = false;
    because it's kind of redundant. But of course, the only_db directive should be obeyed.

     
  • Marc Delisle
    Marc Delisle
    2013-10-15

    candev,
    I just tried with 4.0.8, with just the only_db directive, and it works to restrict the list in the navi panel (with the ShowDatabasesCommand directive left to its default value). At least, it works for my non-root user. But my test server does not have thousands of databases.
    Can you give it a try?

     
  • candev
    candev
    2013-10-17

    Hi Marc. OK. I will try again. The problem is on the free hosting servers if I attempt to load PMA 4 for more than a few seconds I get booted for excessive resource usage. PMA 3.5.8.2 works just fine. I'll have to install PMA 4 on the free servers so it will be a couple of days before I can respond.

     
  • candev
    candev
    2013-10-19

    OK. I tried 4.0.8 and the result is as I originally reported. With 3.5.8.2, pma loads in less than 2 seconds. With pma 4+ (including 4.0.8) on the same server and with the same config, pma still has not loaded after 5 seconds. At this point I kill the page load otherwise I'll get booted for excessive resource usage. This may be related? https://sourceforge.net/p/phpmyadmin/bugs/3944/

     
  • candev
    candev
    2013-10-19

    Here is what one provider sent as a warning before deleting my account:

    We have detected that your account executing a slow MySQL queries.
    MySQL Query: show databases

    But according to the config show databases should not be used.

     
  • Marc Delisle
    Marc Delisle
    2013-11-01

    We are deprecating the ShowDatabaseCommand directive for phpMyAdmin 4.1; this version will require a minimum of MySQL 5.5.

     
  • Marc Delisle
    Marc Delisle
    2013-11-01

    • status: open --> wont-fix