可以看看 /node-admin/18607
下面自己亲自做的 有大用
问题:查看表结构时,一直显示正在加载
解决办法:
第一步,在phpmyadmin目录中找到versionversionInformation->getLatestVersion _check.php文件. 找到以下代码
$save = true ; $file = 'http://www.phpmyadmin.net/home_page/version.json' ; if ( ini_get ( 'allow_url_fopen' ) ) {
$response = file_get_contents ( $file) ; } else if ( function_exists ( 'curl_init' ) ) {
$curl_handle = curl_init ( $file) ; curl_setopt ( $curl_handle, CURLOPT_RETURNTRANSFER , 1 ) ;
$response = curl_exec ( $curl_handle) ; }
复制
将上面这些代码删除或者注释掉. 原因是官方已挂, 这检查升级花费30秒时间. 没必要在线检测是否有新版本。
第二步,打开 ./libraries/Util.class.php 文件,查找如下代码:
return strftime ( $date, $timestamp) ;
复制
替换成如下代码:
if ( extension_loaded ( 'gettext' ) )
return strftime ( $date, $timestamp) ;
复制
中国区可以替换成以下代码:
if ( extension_loaded ( 'gettext' ) ) {
date_default_timezone_set ( 'UTC' ) ;
return gmdate ( 'Y-m-d H:i:s' , $timestamp + 28800 ) ; }
复制
#原理: 本地化时间格式化需要gettext支持, 假如你的环境没有开启此功能, 将会返回乱码, 影响#phpmyadmin ajax的处理。
来自 https://cloud.tencent.com/developer/article/1871436
下面的可以不用看了
PHPMyAdmin编辑数据库表一直提示”正在加载”问题 2023-06-25 08:16 • php环境搭建 • 阅读 181 一般对于普通的VPS主机用户需求来说,我们会熟悉1-2种一键包或者WEB面板工具部署网站环境,会添加站点和数据库部署站点,以及勤奋一点定期备份数据,基本上还是可以满足基本的VPS主机应用的。上午的时候有遇到一个网友提出来在网站搬家过程中出现PHPMyAdmin加载问题。
因为其在搬家网站过程中,需要登录PHPMyAdmin页面客户端然后编辑修改WORDPRESS原本数据库绑定的网站域名(应该是更换站点域名需求),但是点击编辑数据库表的时候出现"正在加载"问题。这个问题老左还是第一次遇到,因为如果遇到PHPMyAdmin访问速度慢都还好解决(解决PHPMyAdmin打开和访问较慢的2种方法)。
这里老左也搜索网上看看有没有其他用户的解决方法:
第一、修改配置文件
这个方法来自网络上的,按照说明是针对phpmyadmin 4.0.2 php 5.5.0版本可以使用。
1、到PHPMYADMIN文件目录找到libraries/Util.class.php文件,找到:
return strftime($date, $timestamp);
2 # 替换成如下代码:
if(extension_loaded('gettext'))
return strftime($date, $timestamp);
3 # 中国区这样设置.
date_default_timezone_set('UTC');
return gmdate('Y-m-d H:i:s', $timestamp + 28800);
2、保存文件替换,根据提示是可以解决的。
第二、修改防火墙设置
这里老左看到这个朋友使用的是PHPMYADMIN4.4.15版本,而且对应的上面的文件是不一样的,所以修改之后还是有错误提示。正准备放弃的时候无意中问了一句这个朋友VPS是否有用到防火墙软件工具,其告知是有用到。应该问题就在这里了,可能防火墙直接判断操作数据库可能会认为是SQL注入问题,于是给屏蔽当前的IP。
解决方法:我们要么关闭防火墙工具,等操作完毕之后再开启,或者将我们操作数据库时候的本地IP地址添加白名单,这样就没有问题。
总结,到目前为止PHPMyadmin数据库管理出现"正在加载"的问题是可以解决的,如果有其他朋友没有解决或者还有其他方法可以分享出来。
来自 https://www.phpff.com/202306254211.html
下面由phpmyadmin 教程栏目给大家介绍phpmyadmin打开很慢的解决方法,希望对需要的朋友有所帮助!
phpmyadmin4系列通通加载缓慢的最终原因是最近phpmyadmin的官网经常打不开,而phpmyadmin页面会自动检查官网上的程序版本更新,所以当你进入phpmyadmin管理页面点击数据库的时候phpmyadmin一直在尝试连接官网从而把整个打开过程拖得很慢。
最终的解决办法是不让phpmyadmin检查更新,找到phpmyadmin目录下version_check.php文件,具体修改如下:
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if
(isset(
$_SESSION
[
'cache'
][
'version_check'
])
&& time() <
$_SESSION
[
'cache'
][
'version_check'
][
'timestamp'
] + 3600 * 6
) {
$save
= false;
$response
=
$_SESSION
[
'cache'
][
'version_check'
][
'response'
];
}
else
{
}
上面代码是通过注释掉else{......}中间这段来取消phpmyadmin连接官网version.json来检查更新
修改完后phpmyadmin马上又回到秒开了。
附:另一个网友的解决方法
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
第一步:
# 文件名 ./libraries/Util.
class
.php 文件.
# 查找
return
strftime
(
$date
,
$timestamp
);
# 替换成如下代码:
if
(
extension_loaded
(
'gettext'
))
return
strftime
(
$date
,
$timestamp
);
# 中国区这样设置.
date_default_timezone_set(
'UTC'
);
return
gmdate
(
'Y-m-d H:i:s'
,
$timestamp
+ 28800);
#原理: 本地化时间格式化需要
gettext
支持, 假如你的环境没有开启此功能, 将会返回乱码, 影响#phpmyadmin ajax的处理. 本测试在phpmyadmin 4.0.2 php 5.5.0 环境上验证通过.
# 第二步: ./version_check.php文件.
$save
= true;
$file
=
'http://www.phpmyadmin.net/home_page/version.json'
;
if
(
ini_get
(
'allow_url_fopen'
)) {
$response
=
file_get_contents
(
$file
);
}
else
if
(function_exists(
'curl_init'
)) {
$curl_handle
= curl_init(
$file
);
curl_setopt(
$curl_handle
, CURLOPT_RETURNTRANSFER, 1);
$response
= curl_exec(
$curl_handle
);
}
# 将上面这些代码删除或者注释掉. 原因是官方已挂, 这检查升级花费30秒时间.
# 现在退出后, 再登录访问, 看看是不是已经秒开了?
# 大家试试吧.
以上就是如何解决phpmyadmin打开很慢的问题的详细内容,更多请关注php中文网其它相关文章!
来自 https://www.php.cn/faq/476715.html
MySQL --为什么phpMyAdmin在php/mysqli中的查询速度非常慢? 编辑 __:参见我的答案,主要的区别是phpmyadmin添加的LIMIT
,但我仍然不明白,phpmyadmin仍然比mysqli慢。
在我们的数据库 (+web)服务器 上,在phpmyadmin中执行查询与在php (mysqli)或直接在mariadb 服务器上执行查询时性能上有很大差异。60秒vs < 0.01秒!
这个查询功能非常好:
SELECT * FROM ` TitelDaggegevens `
WHERE ` datum ` > '2020-03-31' AND datum < '2020-05-02' AND ` fondskosten ` IS NULL
ORDER BY isbn;
复制
但是,只有在phpMyAdmin中,当我们将2020-05-02
更改为2020-05-01
时,查询变得非常缓慢。
SHOW PROCESSLIST
显示,在运行时,queryu主要是Sending data
。
在数数 之后,我执行了以下查询系列:
FLUSH STATUS ;
SELECT - query above with one of the two dates;
SHOW SESSION STATUS LIKE 'Handler%' ;
复制
不同之处令人着迷。(在所有情况下,我省略了等于0的所有值)。随着时间的推移也是一致的。
| how: | server/ MySqli | phpMyAdmin
| date used in query : | 2020 - 05 - 02 | 2020 - 05 - 01 | 2020 - 05 - 02 | 2020 - 05 - 01
| records returned: | 6912 | 1 | 6912 | 1
| avg speed: | 0 . 27s | 0 . 00s | 0 . 52s | 60 s ( ! )
| Variable_name | Value | Value | Value | Value
| Handler_icp_attempts | 213197 | 206286 | 213197 | 0
| Handler_icp_match | 6912 | 1 | 6912 | 0
| Handler_read_next | 6912 | 1 | 26651 | 11728896 ( ! )
| Handler_read_key | 1 | 1 | 151 | 4
| Handler_commit | 1 | 1 | 152 | 5
| Handler_read_first | 0 | 0 | 1 | 1
| Handler_read_rnd_next | 0 | 0 | 82 | 83
| Handler_read_rnd | 0 | 0 | 0 | 1
| Handler_tmp_write | 0 | 0 | 67 | 67
复制
在所有情况下,解释结果都是相同的 (phpmyadmin/mysqli/putty+mariadb)。
[ select_type] => SIMPLE
[ table] => TitelDaggegevens
[ type] => range
[ possible_keys] => fondskosten, Datum+ isbn+ fondskosten
[ key] => Datum+ isbn+ fondskosten
[ key_len] => 3
[ ref] =>
[ Extra] => Using index condition; Using filesort
复制
唯一的区别是行:
[ rows] => 422796 for 2020 - 05 - 01
[ rows] => 450432 for 2020 - 05 - 02
复制
问题
你能告诉我们的方向吗? ,我们可以在哪里找到解决这个问题的方法?为了优化mariadb服务器(除了phpmyadmin之外,现在是最优的),我们已经工作了一周,并将一些问题缩小到下面的示例。我们经常使用phpmyadmin,但是对于表面下的内容几乎没有经验(比如它如何连接到db)。
关于索引/排序的
在慢速查询中,如果我们将ORDER BY
从索引的isbn
字段更改为非索引字段,或者完全忽略ORDER BY
,那么一切都有正常的闪电速度。将ORDER BY
更改为主键id
也会降低速度,但速度仍然是索引isbn
字段的10倍。
我们*知道*我们可以通过更好的索引来解决这个特定的查询,我们已经准备好实现这个索引了。但是,我们想知道phpmyadmin对mysqli/直接造成不同时间的原因。
详细信息:
TitelDaggegevens包含<1100万条记录,甚至不包含3Gb,并且已被OPTIMIZEd (重建)
表格结构:
CREATE TABLE ` TitelDaggegevens ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT ,
` isbn ` decimal ( 13 , 0 ) NOT NULL ,
` datum ` date NOT NULL ,
` volgendeDatum ` date DEFAULT NULL ,
` prijs ` decimal ( 8 , 2 ) DEFAULT NULL ,
` prijsExclLaag ` decimal ( 8 , 2 ) DEFAULT NULL ,
` prijsExclHoog ` decimal ( 8 , 2 ) DEFAULT NULL ,
` stadiumDienstverlening ` char ( 2 ) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL ,
` stadiumLevenscyclus ` char ( 1 ) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL ,
` gewicht ` double ( 7 , 3 ) DEFAULT NULL ,
` volume ` double ( 7 , 3 ) DEFAULT NULL ,
` 24uurs ` tinyint ( 1 ) DEFAULT NULL ,
` UitgeverCode ` varchar ( 4 ) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL ,
` imprintId ` int ( 11 ) DEFAULT NULL ,
` distributievormId ` tinyint ( 4 ) DEFAULT NULL ,
` boeksoort ` char ( 1 ) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL ,
` publishingStatus ` tinyint ( 4 ) DEFAULT NULL ,
` productAvailability ` tinyint ( 4 ) DEFAULT NULL ,
` voorraadAlles ` mediumint ( 8 ) unsigned DEFAULT NULL ,
` voorraadBeschikbaar ` mediumint ( 8 ) unsigned DEFAULT NULL ,
` voorraadGeblokkeerdEigenaar ` smallint ( 5 ) unsigned DEFAULT NULL ,
` voorraadGeblokkeerdCB ` smallint ( 5 ) unsigned DEFAULT NULL ,
` voorraadGereserveerd ` smallint ( 5 ) unsigned DEFAULT NULL ,
` fondskosten ` enum ( 'depot leverbaar' , 'depot onleverbaar' , 'POD' , 'BOV' , 'eBoek' , 'geen' ) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL ,
PRIMARY KEY ( ` id ` ) ,
UNIQUE KEY ` ISBN+datum ` ( ` isbn ` , ` datum ` ) USING BTREE ,
KEY ` UitgeverCode ` ( ` UitgeverCode ` ) ,
KEY ` Imprint ` ( ` imprintId ` ) ,
KEY ` VolgendeDatum ` ( ` volgendeDatum ` ) ,
KEY ` Index op voorraad om maxima snel te vinden ` ( ` isbn ` , ` voorraadAlles ` ) USING BTREE ,
KEY ` fondskosten ` ( ` fondskosten ` ) ,
KEY ` Datum+isbn+fondskosten ` ( ` datum ` , ` isbn ` , ` fondskosten ` ) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16519430 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_520_ci
复制
虚拟web+database+mail服务器的配置:
MariaDB 10.4
InnoDB
CentOs7
phpMyAdmin 4.9 .5
php 5.6
Apache
复制
一些重要的mariadb配置参数与虚拟we服务器默认的配置参数不同:
[ mysqld]
innodb_buffer_pool_size= 2G
innodb_buffer_pool_instances= 4
innodb_flush_log_at_trx_commit= 2
tmp_table_size= 64M
max_heap_table_size= 64M
join_buffer_size= 4M
sort_buffer_size= 8M
optimizer_search_depth= 5
复制
Stack Overflow用户 回答已采纳
发布于 2020-05-27 10:44:04
我们已经有专家看过了,除了你所有的提示。
经过多次测试,phpMyAdmin添加的phpMyAdmin是导致这种极端延迟的唯一原因。专家没有发现mysqli/phpmyadmin和直接在mariadb服务器上执行它之间的区别。
有时,查询中的非常小的差异(比如为只返回一条记录的查询添加一个限制)可能会导致查询花费100.000倍的时间,因为它将扫描整个索引,因为引擎将看到另一个适合该查询的策略。这是标准的行为。
我们已经找到了一个消除了这个具体问题的索引,现在我们也确信我们的DB没有什么问题。一些我们不确定的事情,因为这似乎是极端的行为。所以:无事生非。
然而,我从这次经历中学到了很多。都来自我们的专家和这个社区。我了解了MySQL诊断、日志记录、mariaDB如何处理查询.对于每一个被证明不是问题的诊断,我学会了在表、索引或查询中避免或争取的东西。
谢谢大家,尤其是里克·詹姆斯、威尔逊·哈克和“利用命运”
Stack Overflow用户 发布于 2020-05-23 13:59:26
最大的区别是当然是phpmyadmin为查询添加了一个限制的 。这给出了主要解释。我不敢相信这不是我们第一次尝试,我很尴尬。
然而,phpMyAdmin和mysqli之间的速度差异仍然很大,而且结果仍然不同(服务器或mysqli上的2020-05-01):
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- -- -- +
| Variable_name | Value |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- -- -- +
| Handler_commit | 1 |
| Handler_read_first | 1 |
| Handler_read_next | 11733306 |
| rest | 0 |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- -- -- +
复制
使用limit
和2020-05-02的速度:使用limit
和2020-05-01的速度都在0.17-0.2之间: php/mysqli:声称:3.5秒,但是页面加载了大约30秒putty/mariadb: claimes也是3.5秒,但是显示了大约30秒的phpmyadmin: claimed和实时的大约60秒的结果。
此外,解释也有很大的变化,但有一定的限制:
( datum<20200501为1268行,datum<20200502为1351行)
+ -- -- -- + -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- + -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- -- -- -- + -- -- -- -- - + -- -- -- + -- -- -- + -- -- -- -- -- -- - +
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+ -- -- -- + -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- + -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- -- -- -- + -- -- -- -- - + -- -- -- + -- -- -- + -- -- -- -- -- -- - +
| 1 | SIMPLE | TitelDaggegevens | index | fondskosten, Datum+ isbn+ fondskosten | ISBN + datum | 9 | NULL | 1351 | Using where |
+ -- -- -- + -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- + -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- + -- -- -- -- -- -- + -- -- -- -- - + -- -- -- + -- -- -- + -- -- -- -- -- -- - +
复制
Stack Overflow用户 发布于 2020-05-24 12:56:32
考虑制作optimizer_search_depth=16而不是5,并从TitelDaggegevens
中选择*,其中datum
在“2020-03-31”和“2020-05-02”之间和fondskosten
之间的顺序为空;
Stack Overflow用户 发布于 2020-06-02 18:57:58
)我很晚才开始工作。很高兴看到你“解决了”这个问题。)
你发现了一个奇怪的,做得很好的调查。
有办法从phpmyadmin获得EXPLAIN
吗?如果是这样的话,这可能会提供另一条线索。
Handler数字强烈地暗示使用了不同的EXPLAIN
。
显然,phpmyadmin修改了查询(至少添加了LIMIT
)。我想知道它是否意外地扰乱了查询。那时候你打开了日志或普通日志吗?这两种方法都应该运行SQL。
将(fondskosten)
上的索引替换为INDEX(fondskosten, datum)
应该可以提高性能。
(与往常一样,“发送数据”是引擎提供的无用信息。)
建议向mariadb.com提交一个bug。
来自 https://cloud.tencent.com/developer/ask/sof/108160418
使用phpmyadmin浏览库结构很卡的问题的解决方案
问题描述:由于公司线上服务器和线上是完全分离的,但是有时候线上环境的测试或排错还需要查看线上的数据库,故这里给他们搭建了一个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如下:
由于查询information_schema表的字段都是varchar类型,需要给字段value添加单引号,所以修改后的SQL如下:
第二步: 保存退出,然后重启你的web服务apache或者nginx。
第三步: 登录phpmyadmin,浏览库下的表,直接秒开,完全无卡顿的现象了。
附注: 不过这时在库下看到的表的纪录数,除了多于50W行的表示显示行数的,其余表行数都是0,这时由于libraries/config.default.php中的 $cfg['MaxExactCount'] = 500000参数设置导致,如果一定要显示正确的表行数,可以把该参数设置为50000或者更低即可。
来自 https://blog.51cto.com/mysqldba/1915694
【求助】有人知道為什麼phpMyAdmin會跑得很慢嗎? 【求助】有人知道为什么phpMyAdmin会跑得很慢吗? https://blog.51cto.com/mysqldba/1915694
請教一下,我發現最近SERVER出現一個怪問題,就是phpMyAdmin開啟的速度突然變得很長,一開始出現詢問帳號、密碼的小視窗很快,輸入了帳號密碼之後,要等很久才會進入到phpMyAdmin的畫面,不過也不是出不來,只是要等很久,大約要個將近五分鐘吧,不過進入之後開啟任何頁面中的連結也都很快就出現,就是登入要很久,有人知道這是啥原因嗎?请教一下,我发现最近SERVER出现一个怪问题,就是phpMyAdmin开启的速度突然变得很长,一开始出现询问帐号、密码的小窗口很快,输入了账号密码之后,要等很久才会进入到phpMyAdmin的画面,不过也不是出不来,只是要等很久,大约要个将近五分钟吧,不过进入之后开启任何页面中的链接也都很快就出现,就是登入要很久, 有人知道这是啥原因吗? 我裝在Red Hat Linux 7.3之中,所有的套件都是系統內建的,剛安裝的系統就這樣,硬體配備大概是P3的Celeron 800+256MB記憶體,後來我怕是不是硬體的問題,又換了一部新的電腦試試看,Athlon XP+華碩A7V-266主機板+256DDR,跑起來也一樣,網路的部分我用Ping去測試,回應時間大多都是兩位數ms而已。我装在Red Hat Linux 7.3之中,所有的套件都是系统内建的,刚安装的系统就这样,硬件配备大概是P3的Celeron 800+256MB内存,后来我怕是不是硬件的问题,又换了一部新的电脑试试看,Athlon XP+华硕A7V-266主板+256DDR,跑起来也一样,网络的部分我用Ping去测试,回应时间大多都是两位数ms而已。 拜託知道的人幫幫忙吧!拜托知道的人帮帮忙吧! 檢查資料庫本身有沒有問題(也就是不要透過 phpmyadmin 去讀取資料庫)先检查数据库本身有没有问题(也就是不要通过 phpmyadmin 去读取数据库) 打一些簡單的 sql command 測試看看資歷庫的反應速度打一些简单的 sql command 测试看看资历库的反应速度 phpmyadmin 的 config.inc.php 其中,有一項設定是$cfg['OBGzip']phpmyadmin 的 config.inc.php 其中,有一项设定是$cfg['OBGzip'] 或是 php.ini 其中有一各設定是 zlib.output_compression或是 php.ini 其中有一各设定是 zlib.output_compression 這兩各設定也許有可能造成這各原因也說不一定,可以試試看。这两各设定也许有可能造成这各原因也说不一定,可以试试看。
我有執行一些很簡單的指令,像mysql、mysqladmin,都能執行,看起來都還蠻正常的(不過我對相關指令不熟啦,不太瞭解,所以只能說看起來是正常啦)。我有执行一些很简单的指令,像mysql、mysqladmin,都能执行,看起来都还蛮正常的(不过我对相关指令不熟啦,不太了解,所以只能说看起来是正常啦)。 阿然後$cfg['OBGzip']的設定值是「auto」,zlib.output_compression的設定值則是「off」。這樣的設定值有什麼影響嗎?阿然后$cfg['OBGzip']的设置是「auto」,zlib.output_compression的设置则是「off」。 这样的设定值有什么影响吗?
先檢查資料庫本身有沒有問題(也就是不要透過 phpmyadmin 去讀取資料庫)先检查数据库本身有没有问题(也就是不要通过 phpmyadmin 去读取数据库) 打一些簡單的 sql command 測試看看資歷庫的反應速度打一些简单的 sql command 测试看看资历库的反应速度 phpmyadmin 的 config.inc.php 其中,有一項設定是$cfg['OBGzip']phpmyadmin 的 config.inc.php 其中,有一项设定是$cfg['OBGzip'] 或是 php.ini 其中有一各設定是 zlib.output_compression或是 php.ini 其中有一各设定是 zlib.output_compression 這兩各設定也許有可能造成這各原因也說不一定,可以試試看。这两各设定也许有可能造成这各原因也说不一定,可以试试看。
你可以試著把$cfg['OBGzip'] 這各值改成 FALSE 試看看
你可以试着把$cfg['OBGzip'] 这各值改成 FALSE 试看看
剛剛試了一下,把這個選項調整過之後還是一樣........
刚刚试了一下,把这个选项调整过之后还是一样........
經過這兩天的測試,又發現到一個現象,就是在本機上開phpMyAdmin的時候都沒有問題,速度相當快,但只要是其他的電腦,就算用的是區域網路內的虛擬IP都一樣要很久............经过这两天的测试,又发现到一个现象,就是在本机上开phpMyAdmin的时候都没有问题,速度相当快,但只要是其他的电脑,就算用的是区域网络内的虚拟IP都一样要很久............ 你可以試著把$cfg['OBGzip'] 這各值改成 FALSE 試看看你可以试着把$cfg['OBGzip'] 这各值改成 FALSE 试看看
聽起來跟phpMyAdmin的設定好像沒關係听起来跟phpMyAdmin的设定好像没关系 該不會是apache的問題吧?该不会是apache的问题吧? 這就不知啦..........不過之前一樣的安裝和設定都沒這些問題啊..........這次重灌之後才開始的........而且不只一部電腦這樣..........这就不知啦.......... 不过之前一样的安装和设定都没这些问题啊.......... 这次重灌之后才开始的........ 而且不只一部电脑这样.......... 聽起來跟phpMyAdmin的設定好像沒關係听起来跟phpMyAdmin的设定好像没关系 該不會是apache的問題吧?该不会是apache的问题吧? 請問你的 phpmyadmin 的其中一各設定是请问你的 phpmyadmin 的其中一各设定是 $cfg['Servers'][$i]['auth_type'] ??你的設定是??$cfg['Servers'][$i]['auth_type'] ?? 你的设定是?? 試試看 修改 php.ini 裡面的试试看 修改 php.ini 里面的 default_charset = "iso-8859-15"default_charset = “iso-8859-15” default_charset左邊加上 ;default_charset左边加上 ; 取消此設定。取消此设定。 設過http和config都一樣慢∼设过http和config都一样慢∼ 請問你的 phpmyadmin 的其中一各設定是请问你的 phpmyadmin 的其中一各设定是 $cfg['Servers'][$i]['auth_type'] ??你的設定是??$cfg['Servers'][$i]['auth_type'] ?? 你的设定是?? 来自 https://www.pczone.com.tw/vbb3/archive/t-105646.html
我们使用phpMyAdmin经常是一进去就直接展开数据库,点击表名查看数据,这样可以清楚的了解表的结构方便写 SQL。默认情况下是显示 25 条数据,即使有几亿行也很快。
但最近我换了一个 read 账号登录,点击表名的时候直接卡死了
应该是查询卡住了,命令行连上数据库,show full processlist
发现有个查询确实卡住了:
一开始只关注到状态是Creating Sort Index
,再结合使用 write 账号登录打开却很快的现象,认为是 read 账号没有 create 权限,导致卡着了(没有权限的话应该是直接报错的)。但是查了下 read 账号其实给的就是全部权限,一度陷入了僵局。
调整心态,回到原点,还是从「使用 write 账号登录打开却很快」的现象出发,查看日志,发现 write 账号进入的话点击表名浏览数据使用的 SQL 没有ORDER BY
,那就是自动加的,查了下,phpMyAdmin 会自动保存上一次对字段排序的操作,再次操作字段能取消排序,但问题是我现在已经无法进入浏览页面了。
那考虑是不是能在哪里设置,关闭这个。页面上有个浏览模式设置,但这个试了下好像没啥用。
还是看下官方文档吧,找到了设置项,需要把$cfg['Servers'][$i]['table_uiprefs']
和$cfg['RememberSorting']
设置为false
。这个功能还是好的,但在多人使用同一账号,数据量又比较大的情况下,还是关闭比较好,关闭也不影响排序功能,只是排序的操作不会保存下来。
Since release 3.5.0 phpMyAdmin can be configured to remember several things (sorted column $cfg['RememberSorting'], column order, and column visibility from a database table) for browsing tables. Without configuring the storage, these features still can be used, but the values will disappear after you logout.
然后还得把已经保存的设置项清除掉,位置在数据库:phpmyadmin(默认)表:pma__table_uiprefs,把这个表清空即可又回到之前丝滑的感觉了。
参考资料 https://stackoverflow.com/questions/33809816/phpmyadmin-automatically-adding-order-by-to-browse
https://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_table_uiprefs
来自 https://iyaozhen.com/phpmyadmin-creating-sort-index-hang.html
使用phpMyAdmin浏览库结构很卡的问题的解决方案 [日期:2017-04-13] 来源:Linux社区 作者:mysqldba [字体:大 中 小 ]
问题描述:
由于公司线上服务器和线上是完全分离的,但是有时候线上环境的测试或排错还需要查看线上的数据库,故这里给他们搭建了一个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
来自 https://www.linuxidc.com/Linux/2017-04/142760.htm