Mysql
導入大型 MySQL 數據庫時,最大執行時間超過 300 秒錯誤
我正在嘗試使用以下命令導入 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)
在我看來,您的 .sql 文件實際上包含 text
<br /> <b>Fatal error</b>: Maximum execution time of 300 seconds exceeded in <b
,這顯然不是有效的 sql。您可能已經使用諸如 phpMyAdmin 之類的工具導出了您的數據庫,該工具花費了超過 300 秒的時間來創建在那個時間點被縮短的導出。
這是 .sql 文件中的語法錯誤。那裡應該有一行“<b>致命錯誤:超過 300 秒的最大執行時間”
這個錯誤在我看來很像 PHP 錯誤。在數據庫導出/轉儲期間,php 在 300 秒後停止,並將錯誤寫入其輸出 -> 您的文件。
您應該修復 php.ini,以允許更長的執行時間,然後將整個數據庫導出到一個新文件,然後導入新文件(我猜數據庫當然是通過 PHP 導出的)。或者使用其他工具轉儲數據庫(如 mysqldump 或 mysql-workbench,如果您更喜歡 GUI),然後導入。