我正在尝试使用以下命令导入 641 MB MySQL 数据库:
mysql -u root -p ddamiane_fakty < domenyin_damian_fakty.sql
但我收到一个错误:
ERROR 1064 (42000) at line 2351406: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<br />
<b>Fatal error</b>: Maximum execution time of 300 seconds exceeded in <b' at line 253
然而限制要高得多:
mysql> show global variables like "interactive_timeout";
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| interactive_timeout | 28800 |
+---------------------+-------+
1 row in set (0.00 sec)
和
mysql> show global variables like "wait_timeout";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------+
1 row in set (0.00 sec)
答案1
在我看来,您的 .sql 文件实际上包含文本<br /> <b>Fatal error</b>: Maximum execution time of 300 seconds exceeded in <b
,这显然不是有效的 sql。您可能使用 phpMyAdmin 等工具导出了数据库,该工具花费了超过 300 秒的时间来创建导出,并且当时导出过程被缩短了。
答案2
这是 .sql 文件中的语法错误。其中应该有一行“<b>严重错误:在
在我看来,这个错误很像 PHP 错误。在数据库导出/转储期间,php 在 300 秒后停止,并将错误写出到其输出 -> 您的文件中。
您应该修复 php.ini,以延长执行时间,然后将整个数据库导出到新文件,然后导入新文件(我猜数据库当然是通过 PHP 导出的)。或者使用其他工具转储数据库(例如 mysqldump,或者如果您更喜欢 GUI,则使用 mysql-workbench),然后导入它。
答案3
我知道这是一个老问题但我想澄清一下你是如何得到这个错误的。
通常,当您将大型 MySQL 数据库导出到 SQL 文件但导出未成功完成时,会产生此错误,从而导致 SQL 文件的一半附加了 MySQL 错误。
然后,您假定导出成功并尝试将其导入到其他地方,但出现了此错误。