更改 config.inc.php 后锁定“pma__column_info”时出错

Posted

技术标签:

【中文标题】更改 config.inc.php 后锁定“pma__column_info”时出错【英文标题】:error in locking 'pma__column_info' after change in config.inc.php 【发布时间】:2015-10-15 06:35:58 【问题描述】:

我需要通过 phpmyadmin 将一些大的 sql 文本文件(120 和 300 MB)导入本地数据库。我在较小的 dbs 上取得了成功,大约 8 MB 和 18 MB,但在下一个 (120 MB) 上出现了几次超时。

根据here 的建议,我插入了“$cfg['ExecTimeLimit'] = 0;”在 config.inc.php 的两个不同的地方,现在我得到了这个错误:

SQL query: DocumentationEdit Edit

SELECT `comment`
FROM `phpmyadmin`.`pma__column_info`
WHERE db_name = 'bot4b'
AND table_name = ''
AND column_name = '(db_comment)'

mysql said: Documentation
#1100 - Table 'pma__column_info' was not locked with LOCK TABLES 

我注释掉了“$cfg['ExecTimeLimit'] = 0;”,但错误仍然存​​在。我重启了apache,甚至重启了。

启动后,我创建了一个新数据库,并尝试重新导入较小的数据库(8 MB),但同样的错误。

我认为这不是用户/密码问题,我害怕在不知道自己在做什么的情况下尝试here 的建议。我更愿意了解正在发生的事情,而不是仅仅应用可能会进一步破坏系统的盲目修复。 (顺便说一句,我的 'controluser' 和 'controlpass' 没有注释,默认设置为局部变量 $dbuser 和 $dbpass。)

我使用的是 Ubuntu 14.04、Apache 2.4.7 (Ubuntu)、MySQL 14.14 和 PHP 5.5.9-1ubuntu4.11 (cli)

提前致谢。

【问题讨论】:

你试过用命令行导入吗? 还没有,谢谢你的想法。 我相信phpMyadmin由于web界面有限制(我记得前段时间遇到过),我不得不使用命令行 【参考方案1】:

我建议使用 MySQL 命令行工具来执行此操作,使用 Web 界面需要很长时间,而且确实会遇到很多问题。

你可以使用:

mysql -p -u user_name database_name < file.sql

mysqlimport [options] db_name textfile1

【讨论】:

好的,这行得通。但是phpmyadmin到底发生了什么,能够导入我的8MB数据库,现在不行了?【参考方案2】:

你可以这样做。

基本上在 phpmyadmin 别名配置中添加一些 php 配置,这将在您使用 phpMyAdmin 时增加各种 php 参数。

我不是 ubuntu 专家,但我认为别名是在 /etc/phpmyadmin/apache.conf 中定义的

如果将这些参数添加到&lt;Directory.... &lt;/Directory&gt;

<Directory ......>

  . . .

  . . . 
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

【讨论】:

以上是关于更改 config.inc.php 后锁定“pma__column_info”时出错的主要内容,如果未能解决你的问题,请参考以下文章

更改密码后拒绝 phpMyAdmin 访问,config.inc.php 仅可读

PHPMyAdmin/setup 显示空白屏幕,而 PMA 本身工作

如何在不影响 phpMyAdmin 的情况下从 mysql 中巧妙地删除 pma 表

#1146 - Table 'phpmyadmin.pma__table_uiprefs' doesn't exist

无法修改 config.inc.php

XAMPP报错:mysqli::real_connect(): (HY000/1045): Access denied for user ‘pma‘@‘localhost‘