[Phpmyadmin-devel] Minimum MySQL version

Marc Delisle marc at infomarc.info
Thu Oct 24 21:28:35 CEST 2013


Marc Delisle a écrit :
> Michal Čihař a écrit :
>> Hi
>>
>> Dne Thu, 24 Oct 2013 08:15:48 -0400
>> Marc Delisle <marc at infomarc.info> napsal(a):
>>
>>> For the upcoming phpMyAdmin 4.1, we currently advertise the minimum 
>>> MySQL version to 5 (meaning 5.0). However, MySQL 5.0 has reached "End of 
>>> Product Lifecycle".
>>>
>>> Moreover, we have a performance problem in phpMyAdmin 4.0 and 4.1, due 
>>> to the navi panel mostly using INFORMATION_SCHEMA, which is poorly 
>>> implemented in older MySQL versions. This performance problem is seen on 
>>> servers with many (thousands?) of databases, which is not uncommon for 
>>> host providers. We have bug tickets about this.
>>>
>>> By the way, using INFORMATION_SCHEMA helps us for some features like the 
>>> db filter (now with REGEX). I'm not sure how we could implement this 
>>> efficiently with SHOW DATABASES.
>>>
>>> I would like to increase the minimum MySQL version for phpMyAdmin 4.1. I 
>>> got feedback from someone I trust, who is running MySQL 5.6 with 
>>> thousands of real-world databases and did some tests; on this version, 
>>> INFORMATION_SCHEMA performs ok.
>> When trying to google this, I've found following hint on improving IS
>> performance, have we tried to use that?
>>
>> http://www.mysqlperformanceblog.com/2011/12/23/solving-information_schema-slowness/
> 
> I was not aware of that setting; but from the comments on this page:
> 
> "the innodb_stats_on_metadata variable is available since MySQL 5.1.17, 
> and it’s a dynamic variable only since InnoDB Plugin 1.0.2."
> 
>>> If the team agrees, I would do some testing to find out at which point 
>>> INFORMATION_SCHEMA's fetch problems were fixed. Then we would advertise 
>>> this MySQL version as the minimum, and use only INFORMATION_SCHEMA in it 
>>> (no more SHOW DATABASES).
>> Makes sense (and we could then also drop DisableIS configuration...).
> 
> This, and ShowDatabasesCommand.

I have a test server on Linux, with MySQL 5.1.71, 1000 databases with 
100 tables in each db (all InnoDB). PHP 5.5.3 + mysqli + mysqlnd.

With phpMyAdmin 4.0.8, I don't have a performance problem. Both my root 
user, which happily paginates between all the dbs, and a normal user 
with access to only one db, work well.

I'm using the default DisableIS setting of true. I also tried 
ShowDatabasesCommand set to false + some names in only_db, and all was fine.

I have asked in the bug tickets for more details, to be able to 
reproduce the performance problems.

I am not testing with MySQL 5.0.x, because for phpMyAdmin 4.1 we should 
mention that the minimum version is (at least) MySQL 5.1.


-- 
Marc Delisle
http://infomarc.info




More information about the Developers mailing list