更改 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
中定义的
如果将这些参数添加到<Directory.... </Directory>
<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
XAMPP报错:mysqli::real_connect(): (HY000/1045): Access denied for user ‘pma‘@‘localhost‘