phpMyAdmin在加载innoDB数据库主页时极其缓慢

时间:2022-09-24 09:38:33

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.

我从phpMyAdmin中加载了我的一个innoDB数据库的数据库页面,它加载速度非常慢。我们说的是最多5分钟的加载时间。这只发生在MAIN页面上,这意味着,当您查看数据库时,左侧边栏会显示所有表格。

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.

在初始加载时间之后,可以单击每个单独的表并立即加载。但是这些表在iframe中加载而不重新加载数据库表的左侧边栏,这就是它们加载速度如此之快的原因。

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.

我希望能够从phpMyAdmin中加载我的innoDB数据库的主页,而不需要花费5分钟来加载。

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..

我的超时时间设置为大约15分钟,所以如果我认为它超过10分钟,我会在另一个选项卡中打开“localhost”的位置,这会将我带到登录屏幕,重新登录,然后它将我带到数据库列表,快速加载。这是因为如果我只是加载该主页,然后登录,它将带我回到该索引页面,我将再等5分钟加载它。格儿..

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! :(

好吧,我用谷歌搜索和谷歌搜索,发现大量关于使innoDB不做行数和类似事情的建议。我已经尝试了所有这些。没有什么工作! :(

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.

我找到了一个名为“$ cfg ['Server'] ['IgnoreSomeISrows'] = true的东西;”哪个没有任何帮助。我甚至不知道它做了什么,但它没有用,所以我删除了它,但我忘了删除那部分,所以我就把它留在那里。不,评论它也没有帮助,谢谢你。

Some Version Info:

一些版本信息:

OS

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

phpMyAdmin的

Version information: 3.5.8.2, latest stable version: 4.1.5

2 个解决方案

#1


9  

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

我个人在使用phpmyadmin时遇到的速度非常慢,当我在“View”表中查看时。我所做的是将phpmyadmin升级到最新版本,然后我的问题解决了。也许你可以试试phpymadmin v4

#2


6  

Thank you Tom Kim for leading me to the answer.

谢谢Tom Kim带领我找到答案。

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.

评论中没有足够的空间,所以我将详细说明我为解决问题所采取的措施。我不知道为什么php版本的phpMyAdmin让我感到苦恼。

  1. backup your config file (if you have made one)
  2. 备份你的配置文件(如果你已经创建了一个)
  3. remove the yum version(s) of phpMyAdmin (there are 2 different ones)
  4. 删除phpMyAdmin的yum版本(有2个不同的版本)
  5. download the latest version of phpMyAdmin from their website
  6. 从他们的网站下载最新版本的phpMyAdmin
  7. unzip it and move it into the normal place
  8. 解压缩并将其移动到正常位置
  9. replace (or create) the config file
  10. 替换(或创建)配置文件
  11. add a virtual host entry for it and make sure to restrict access to you ONLY YOUR IP ADDRESS for security purposes
  12. 为其添加虚拟主机条目,并确保仅出于安全目的限制访问您的IP地址
  13. restart Apache
  14. 重启Apache
  15. Have some tequila to celebrate! preferably reposado because it's the best type :) (this part is VERY important)
  16. 有一些龙舌兰酒庆祝!最好是reposado,因为它是最好的类型:)(这部分非常重要)

Here is my answer in bash form:

这是我的bash形式的答案:

(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):

(我假设你已经安装并配置了phpMyAdmin或者phpmyadmin ...我不会给你一个配置文件,但我会给你vhost文件,它主要是基于yum版本的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/phpMyAdminNew\n\n<Directory /usr/share/phpMyAdminNew/>\n\t<IfModule mod_authz_core.c>\n\t\t# Apache 2.4\n\t\t<RequireAny>\n\t\t\tRequire ip 127.0.0.1\n\t\t\tRequire ip ::1\n\t\t\t# Require ip xxx.xxx.xxx.xxx\n\t\t</RequireAny>\n\t</IfModule>\n\t<IfModule !mod_authz_core.c>\n\t\t# Apache 2.2\n\t\tOrder Deny,Allow\n\t\tDeny from All\n\t\tAllow from 127.0.0.1\n\t\tAllow from ::1\n\t\t# Allow from xxx.xxx.xxx.xxx\n\t</IfModule>\n</Directory>\n\n<Directory /usr/share/phpMyAdminNew/setup/>\n\t<IfModule mod_authz_core.c>\n\t\t# Apache 2.4\n\t\t<RequireAny>\n\t\t\tRequire ip 127.0.0.1\n\t\t\tRequire ip ::1\n\t\t\t# Require ip xxx.xxx.xxx.xxx\n\t\t</RequireAny>\n\t</IfModule>\n\t<IfModule !mod_authz_core.c>\n\t\t# Apache 2.2\n\t\tOrder Deny,Allow\n\t\tDeny from All\n\t\tAllow from 127.0.0.1\n\t\tAllow from ::1\n\t\t# Allow from xxx.xxx.xxx.xxx\n\t</IfModule>\n</Directory>\n\n# These directories do not require access over HTTP - taken from the original\n# phpMyAdmin upstream tarball\n\n<Directory /usr/share/phpMyAdminNew/libraries/>\n\tOrder Deny,Allow\n\tDeny from All\n\tAllow from None\n</Directory>\n\n<Directory /usr/share/phpMyAdminNew/setup/lib/>\n\tOrder Deny,Allow\n\tDeny from All\n\tAllow from None\n</Directory>\n\n<Directory /usr/share/phpMyAdminNew/setup/frames/>\n\tOrder Deny,Allow\n\tDeny from All\t\nAllow from None\n</Directory>\n\n# This configuration prevents mod_security at phpMyAdmin directories from\n# filtering SQL etc.  This may break your mod_security implementation.\n#\n#<IfModule mod_security.c>\n#\t<Directory /usr/share/phpMyAdminNew/>\n#\t\tSecRuleInheritance Off\n#\t</Directory>\n#</IfModule>' > /etc/httpd/conf.d/phpMyAdminNew.conf;
rm -rf /tmp/phpMyAdminNew
service httpd graceful
clear; echo -e '\n\n##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##\n ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##\n  ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##\n   ##~~~~~~~~~~~~~~~~~~~~~~~~~~~##\n    ##~~~~~~~~~~~~~~~~~~~~~~~~~##\n     ##~~~~~~~~~~~~~~~~~~~~~~~##\n      ##~~~~~~~~~~~~~~~~~~~~~##\n       ##~~~~~~~~~~~~~~~~~~~##\n        ###~~~~~~~~~~~~~~~###\n         ####~~~~~~~~~~~####\n          #####~~~~~~~~#####\n          ##################\n          ## TEQUILA SHOT ##\n          ##################\n\n';

#1


9  

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

我个人在使用phpmyadmin时遇到的速度非常慢,当我在“View”表中查看时。我所做的是将phpmyadmin升级到最新版本,然后我的问题解决了。也许你可以试试phpymadmin v4

#2


6  

Thank you Tom Kim for leading me to the answer.

谢谢Tom Kim带领我找到答案。

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.

评论中没有足够的空间,所以我将详细说明我为解决问题所采取的措施。我不知道为什么php版本的phpMyAdmin让我感到苦恼。

  1. backup your config file (if you have made one)
  2. 备份你的配置文件(如果你已经创建了一个)
  3. remove the yum version(s) of phpMyAdmin (there are 2 different ones)
  4. 删除phpMyAdmin的yum版本(有2个不同的版本)
  5. download the latest version of phpMyAdmin from their website
  6. 从他们的网站下载最新版本的phpMyAdmin
  7. unzip it and move it into the normal place
  8. 解压缩并将其移动到正常位置
  9. replace (or create) the config file
  10. 替换(或创建)配置文件
  11. add a virtual host entry for it and make sure to restrict access to you ONLY YOUR IP ADDRESS for security purposes
  12. 为其添加虚拟主机条目,并确保仅出于安全目的限制访问您的IP地址
  13. restart Apache
  14. 重启Apache
  15. Have some tequila to celebrate! preferably reposado because it's the best type :) (this part is VERY important)
  16. 有一些龙舌兰酒庆祝!最好是reposado,因为它是最好的类型:)(这部分非常重要)

Here is my answer in bash form:

这是我的bash形式的答案:

(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):

(我假设你已经安装并配置了phpMyAdmin或者phpmyadmin ...我不会给你一个配置文件,但我会给你vhost文件,它主要是基于yum版本的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/phpMyAdminNew\n\n<Directory /usr/share/phpMyAdminNew/>\n\t<IfModule mod_authz_core.c>\n\t\t# Apache 2.4\n\t\t<RequireAny>\n\t\t\tRequire ip 127.0.0.1\n\t\t\tRequire ip ::1\n\t\t\t# Require ip xxx.xxx.xxx.xxx\n\t\t</RequireAny>\n\t</IfModule>\n\t<IfModule !mod_authz_core.c>\n\t\t# Apache 2.2\n\t\tOrder Deny,Allow\n\t\tDeny from All\n\t\tAllow from 127.0.0.1\n\t\tAllow from ::1\n\t\t# Allow from xxx.xxx.xxx.xxx\n\t</IfModule>\n</Directory>\n\n<Directory /usr/share/phpMyAdminNew/setup/>\n\t<IfModule mod_authz_core.c>\n\t\t# Apache 2.4\n\t\t<RequireAny>\n\t\t\tRequire ip 127.0.0.1\n\t\t\tRequire ip ::1\n\t\t\t# Require ip xxx.xxx.xxx.xxx\n\t\t</RequireAny>\n\t</IfModule>\n\t<IfModule !mod_authz_core.c>\n\t\t# Apache 2.2\n\t\tOrder Deny,Allow\n\t\tDeny from All\n\t\tAllow from 127.0.0.1\n\t\tAllow from ::1\n\t\t# Allow from xxx.xxx.xxx.xxx\n\t</IfModule>\n</Directory>\n\n# These directories do not require access over HTTP - taken from the original\n# phpMyAdmin upstream tarball\n\n<Directory /usr/share/phpMyAdminNew/libraries/>\n\tOrder Deny,Allow\n\tDeny from All\n\tAllow from None\n</Directory>\n\n<Directory /usr/share/phpMyAdminNew/setup/lib/>\n\tOrder Deny,Allow\n\tDeny from All\n\tAllow from None\n</Directory>\n\n<Directory /usr/share/phpMyAdminNew/setup/frames/>\n\tOrder Deny,Allow\n\tDeny from All\t\nAllow from None\n</Directory>\n\n# This configuration prevents mod_security at phpMyAdmin directories from\n# filtering SQL etc.  This may break your mod_security implementation.\n#\n#<IfModule mod_security.c>\n#\t<Directory /usr/share/phpMyAdminNew/>\n#\t\tSecRuleInheritance Off\n#\t</Directory>\n#</IfModule>' > /etc/httpd/conf.d/phpMyAdminNew.conf;
rm -rf /tmp/phpMyAdminNew
service httpd graceful
clear; echo -e '\n\n##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##\n ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##\n  ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~##\n   ##~~~~~~~~~~~~~~~~~~~~~~~~~~~##\n    ##~~~~~~~~~~~~~~~~~~~~~~~~~##\n     ##~~~~~~~~~~~~~~~~~~~~~~~##\n      ##~~~~~~~~~~~~~~~~~~~~~##\n       ##~~~~~~~~~~~~~~~~~~~##\n        ###~~~~~~~~~~~~~~~###\n         ####~~~~~~~~~~~####\n          #####~~~~~~~~#####\n          ##################\n          ## TEQUILA SHOT ##\n          ##################\n\n';