phpMyAdmin EXTREMELY slow when loading innoDB database main page

My Problem I am Having:

I load the database page for one of my innoDB databases from within phpMyAdmin and it loads EXTREMELY slow. We’re talking like up to 5 minutes of load time. This only happens on the MAIN page, meaning, when you view the database and the left sidebar that shows all the tables shows up.

After that initial load time, each individual table can be clicked on and load almost immediately. But those tables are loaded in an iframe without reloading the left sidebar of database tables which is why they load so quickly.

After that initial load time, each individual table can be opened in a new tab/window immediately, but doing it that way does not include the left sidebar of database tables, which I am sure is the reason they load so quickly.

What I Expect To Be Happening:

I expect to be able to load the main page of my innoDB database from within phpMyAdmin without it taking 5 minutes to load.

What I’ve tried:

I’ve had this issue for months and it drives me crazy every day. I’ve come to live with it actually. I simply load that initial page immediately every day, and go do something else so i don’t have to watch it, because it just makes me angry.

I have my timeout set to about 15 minutes, so if I think its been longer than 10 minutes, I will open where it says “localhost” in a different tab, which brings me to the login screen, log back in, and then it brings me to the list of databases, which loads quickly. This is because if I simply load that main page, then log in, it will bring me back to that index page and i’ll wait another 5 minutes for it to load. Grr..

OK so, I Googled and Googled and found tons of suggestions about making innoDB not do row counts and stuff like that. I’ve tried all of them. Nothing is working! 🙁

I found something called “$cfg[‘Server’][‘IgnoreSomeISrows’] = true;” which did not help whatsoever. I don’t even know what it did, but it didn’t work, so I removed it, but I forgot to remove that part and so I just left it there. No, commenting it out does not help either thank you.

Some Version Info:

OS

CentOS release 6.5 (Final)

Database:

Server: Localhost via UNIX socket
Software: MySQL
Software version: 5.1.71-log - Source distribution
Protocol version: 10

Web Server

Apache/2.2.15 (CentOS)
Database client version: libmysql - 5.1.71
PHP extension: mysqli Documentation

phpMyAdmin

Version information: 3.5.8.2, latest stable version: 4.1.5

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Personally I also experience extremely slow with phpmyadmin, when I view in “View” Table. What I did is upgrade the phpmyadmin to the latest version, then my problem is solved. Maybe u can give a try for phpymadmin v4

Method 2

Thank you Tom Kim for leading me to the answer.

There wasn’t enough room in comments so I will elaborate with an additional answer on exactly what I did to solve my issue. I do not know why the yum version of phpMyAdmin was causing me distress.

  1. backup your config file (if you have made one)
  2. remove the yum version(s) of phpMyAdmin (there are 2 different ones)
  3. download the latest version of phpMyAdmin from their website
  4. unzip it and move it into the normal place
  5. replace (or create) the config file
  6. add a virtual host entry for it and make sure to restrict access to you ONLY YOUR IP ADDRESS for security purposes
  7. restart Apache
  8. Have some tequila to celebrate! preferably reposado because it’s the best type 🙂 (this part is VERY important)

Here is my answer in bash form:

(I assume you have phpMyAdmin or phpmyadmin already installed and configured… I won’t give you a config file, but I’ll give you the vhost file, its mostly based on the one from the yum version of phpMyAdmin):

mkdir /tmp/phpMyAdminNew;
cp /usr/share/phpMyAdmin/config.inc.php /tmp/phpMyAdminNew/config.inc.php;
yum remove phpMyAdmin phpmyadmin;
cd /tmp;
wget -O /tmp/phpMyAdminNew/phpMyAdmin-4.1.5-all-languages.zip http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.1.5/phpMyAdmin-4.1.5-all-languages.zip;
unzip -d /tmp/phpMyAdminNew /tmp/phpMyAdminNew/phpMyAdmin-4.1.5-all-languages.zip;
mv /tmp/phpMyAdminNew/phpMyAdmin-4.1.5-all-languages /usr/share/phpMyAdminNew
cp /tmp/phpMyAdminNew/config.inc.php /usr/share/phpMyAdminNew/config.inc.php
echo -e 'Alias /my_secret_phpmyadmin_portal /usr/share/phpMyAdminNewnn<Directory /usr/share/phpMyAdminNew/>nt<IfModule mod_authz_core.c>ntt# Apache 2.4ntt<RequireAny>ntttRequire ip 127.0.0.1ntttRequire ip ::1nttt# Require ip xxx.xxx.xxx.xxxntt</RequireAny>nt</IfModule>nt<IfModule !mod_authz_core.c>ntt# Apache 2.2nttOrder Deny,AllownttDeny from AllnttAllow from 127.0.0.1nttAllow from ::1ntt# Allow from xxx.xxx.xxx.xxxnt</IfModule>n</Directory>nn<Directory /usr/share/phpMyAdminNew/setup/>nt<IfModule mod_authz_core.c>ntt# Apache 2.4ntt<RequireAny>ntttRequire ip 127.0.0.1ntttRequire ip ::1nttt# Require ip xxx.xxx.xxx.xxxntt</RequireAny>nt</IfModule>nt<IfModule !mod_authz_core.c>ntt# Apache 2.2nttOrder Deny,AllownttDeny from AllnttAllow from 127.0.0.1nttAllow from ::1ntt# Allow from xxx.xxx.xxx.xxxnt</IfModule>n</Directory>nn# These directories do not require access over HTTP - taken from the originaln# phpMyAdmin upstream tarballnn<Directory /usr/share/phpMyAdminNew/libraries/>ntOrder Deny,AllowntDeny from AllntAllow from Nonen</Directory>nn<Directory /usr/share/phpMyAdminNew/setup/lib/>ntOrder Deny,AllowntDeny from AllntAllow from Nonen</Directory>nn<Directory /usr/share/phpMyAdminNew/setup/frames/>ntOrder Deny,AllowntDeny from AlltnAllow from Nonen</Directory>nn# This configuration prevents mod_security at phpMyAdmin directories fromn# filtering SQL etc.  This may break your mod_security implementation.n#n#<IfModule mod_security.c>n#t<Directory /usr/share/phpMyAdminNew/>n#ttSecRuleInheritance Offn#t</Directory>n#</IfModule>' > /etc/httpd/conf.d/phpMyAdminNew.conf;
rm -rf /tmp/phpMyAdminNew
service httpd graceful
clear; echo -e 'nn##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##n ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##n  ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##n   ##~~~~~~~~~~~~~~~~~~~~~~~~~~~##n    ##~~~~~~~~~~~~~~~~~~~~~~~~~##n     ##~~~~~~~~~~~~~~~~~~~~~~~##n      ##~~~~~~~~~~~~~~~~~~~~~##n       ##~~~~~~~~~~~~~~~~~~~##n        ###~~~~~~~~~~~~~~~###n         ####~~~~~~~~~~~####n          #####~~~~~~~~#####n          ##################n          ## TEQUILA SHOT ##n          ##################nn';


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x