【问题标题】:Importing big (and corrupt?) plaintext files into mysql broken my lamp install将大的(和损坏的?)纯文本文件导入 mysql 破坏了我的灯安装
【发布时间】:2010-11-16 20:52:54
【问题描述】:

我正在将 txt 文件中的数据导入 mysql(通过 php 脚本)。这个转储很大,分为 10 个文件。我导入了第一个和第二个,一切正常 - 我可以看到 phpmyadmin 等中的所有条目。大约有 700 000(?)个条目。当我开始导入第三个时,发生了一件奇怪的事情——永远加载的导入脚本。我离开它来完成它的工作,但是经过很长时间(而且由于文件与以前的文件大小相同,我认为它不应该花这么长时间)我在浏览器中单击“停止”以停止我的脚本。然后,我尝试访问 phpmyadmin... 永远加载并且永不停止。试图加载我的网站(它在我的本地 apache2 上)...永远加载。

/etc/init.d/mysql restart
Stopping MySQL database server: mysqld

...也需要永远并且永远不会完成。它从未真正停止过它。不过,我能够成功重启 apache。

确实有备份(快照 - 它是虚拟机),但我正试图弄清楚发生了什么。为什么整个 apache 会有这种反应?发生了什么?如何防止下次发生?我可以恢复到快照,导入有效的 1 和 2 件,然后尝试第 4 个...但是如果第 4 个也会破坏一切怎么办?

我正在使用 Debian Lenny、Apache 2 并且我正在通过在 /etc/hosts 和 apache 配置文件中配置的“虚拟”域访问我的站点(是的,我也尝试通过 127.0.0.1 访问它......没有也不行)。


我试过了:

killall mysqld
debian# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld failed!
/etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full! failed!

【问题讨论】:

  • 朋友不要让朋友使用海豚。

标签: mysql apache2 debian flat-file


【解决方案1】:

这里可能发生了几件事。通过以下方式找到更多线索-

  • 确保您没有填满您的 var 分区。发出“df -h”并查看是否有 100% 已满。
  • 检查 mysql 错误日志 - 可能位于 /var/log/mysql.err 或类似文件中。
  • 您始终可以通过发出“mysql -uroot -e "show processlist"' 来查看 mysql 中发生的情况 您需要将“-uroot”部分更改为有效用户,具体取决于您设置 mysql 的方式 (" -u 用户名 -p ")

另外,killall 不是关闭 mysql 的好方法。尝试“sudo /etc/init.d/mysqld stop”或“mysqladmin -uroot shutdown”。一般来说,尽量不要使用killall。如果必须杀掉,试试“kill [mysql's pid]”或“ps -ef|grep mysql|awk '{print $2}'|xargs kill”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-11
    • 2012-11-12
    • 1970-01-01
    • 2012-12-18
    • 2012-01-12
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    相关资源
    最近更新 更多