阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用phpMyAdmin浏览库结构很卡的问题的解决方案

195次阅读
没有评论

共计 1783 个字符,预计需要花费 5 分钟才能阅读完成。

问题描述:

由于公司线上服务器和线上是完全分离的,但是有时候线上环境的测试或排错还需要查看线上的数据库,故这里给他们搭建了一个 phpMyAdmin 的跳板机,通过该平台可以连接线上的只读库;但是最近收到同事的反馈,查看表记录的库时候,发现操作很卡,特别是浏览库下的表的时候,而此时线上只读库有一个在 select count(*) from tbname 的会话,主机 IP 就是 phpMyAdmin 服务器,到这里就明白了,查看库下的表的时候,phpMyAdmin 会显示表行数,此操作严重拖累了 phpMyAdmin 的响应,也问了百度和 google,但是对于表数据量过多造成的 phpMyAdmin 响应慢都没有太好的解决方案,所以自己摸索了一下,尝试修改一下 phpMyAdmin 的源码,故我这里的解决方案就是修改 phpMyAdmin 的源码,将 ’select count(*) from tbname’ 的 SQL 改写。

上面已概述了问题,现在直奔主题,说说如何修改 phpMyAdmin 源码解决这个问题的。

基础环境:

操作系统:CentOS 6.5 x64 位

phpmyadmin 版本:ver 4.4.15.8

MySQL 版本: 均为 5.6.33

第一步: 既然我们知道是由于表行数统计造成,那么打开 Table.class.php(phpmyadmin/libraries/Table.class.php) 文件:

查找文件中的函数 ’static public function countRecords’,修改内容大概在 581 行前后

原 SQL 如下:

‘SELECT COUNT(*) FROM ‘ . PMA_Util::backquote($db) . ‘.’

. PMA_Util::backquote($table)

由于查询 information_schema 表的字段都是 varchar 类型,需要给字段 value 添加单引号,所以修改后的 SQL 如下:

‘SELECT TABLE_ROWS FROM information_schema.TABLES where TABLE_SCHEMA = \” . PMA_Util::backquote($db) .

‘\’ and TABLE_NAME = \” . PMA_Util::backquote($table) . ‘\”

第二步: 保存退出,然后重启你的 web 服务 apache 或者 nginx。

第三步: 登录 phpmyadmin,浏览库下的表,直接秒开,完全无卡顿的现象了。

附注: 不过这时在库下看到的表的纪录数,除了多于 50W 行的表示显示行数的,其余表行数都是 0,这时由于 libraries/config.default.php 中的 $cfg[‘MaxExactCount’] = 500000 参数设置导致,如果一定要显示正确的表行数,可以把该参数设置为 50000 或者更低即可。

LAMP 架构协同应用的实例——phpMyAdmin http://www.linuxidc.com/Linux/2013-07/87645.htm

LAMP 应用之 phpMyAdmin、Wordpress http://www.linuxidc.com/Linux/2013-04/82757.htm

phpMyAdmin 老出现登陆超时解决方法 http://www.linuxidc.com/Linux/2012-09/70715.htm

Ubuntu 16.04 安装 phpMyAdmin 数据库管理工具  http://www.linuxidc.com/Linux/2016-11/137483.htm

Ubuntu 安装 phpMyAdmin 与 Adminer http://www.linuxidc.com/Linux/2012-08/69419.htm

在 LAMP 基础上实现 SSL 功能并安装 phpMyAdmin http://www.linuxidc.com/Linux/2012-07/66905.htm

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9) 开发环境 http://www.linuxidc.com/Linux/2014-10/107924.htm

phpMyAdmin 的详细介绍 :请点这里
phpMyAdmin 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-04/142760.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1783字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中