MySQL load data 中途遭遇 SSH 断线。。。

2016 年 3 月 28 日
 cexia

情景: 本地通过 SSH 登录远程的 CentOS6.5.

上传数据文件后,在 mysql client 中执行 load data infile ... into table ...。

数据文件大小 3 个 GB 左右。

执行到中途, VPN 中断导致 SSH 断线。

SSH 重新连上以后,发现 mysqld 进程“僵死”:无法 kill ,无法配置。

搜了相关资料,定位到一个异常现象是,发生断线后,/var/lib/mysql/mysql.sock 文件被系统删除。

第一次发生以上现象后,用 CentOS reboot 和 MySQL 重装解决。

侥幸心理,又试了一次,再次遭遇 SSH 断线。问题依旧。

无能为力了,求高人指点!

4223 次点击
所在节点    MySQL
20 条回复
noahzh
2016 年 3 月 28 日
tmux 适合你,而且不是僵死,那是数据没有 load 完....
UnisandK
2016 年 3 月 28 日
你开个 screen 跑啊。。
CosWind
2016 年 3 月 28 日
同学你需要在后台执行任务, screen , byobu , tmux 之类都可以
cexia
2016 年 3 月 28 日
@noahzh

SSH 重连上以后:

# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

另外 mysqld kill 不掉啊!

个人觉得是异常。如果有误还请指点!
noahzh
2016 年 3 月 28 日
你看一下 uptime 不是断线是重启了吧.
CosWind
2016 年 3 月 28 日
找到 pid, kill -9 不可能杀不掉;
启动的时候看下错误日志,看看是什么原因;
估计是 data_dir 里的文件 load data 中断之后损坏了,重新 init 一次,恢复一次数据吧
cexia
2016 年 3 月 28 日
正在研究 screen ,应该就是可行的解决办法。谢谢大家!
youkochan
2016 年 3 月 28 日
screen ~ 喵~
tmux ~ 喵~
micookie
2016 年 3 月 28 日
screen
yghack
2016 年 3 月 28 日
为什么不在后台跑
表示不能理解
lxy
2016 年 3 月 28 日
写个脚本, nohup 挂后台。
cexia
2016 年 3 月 28 日
@yghack

"load data infile ... into table ..."

MySQL 的 SQL 语句怎么用后台来执行?
hualuogeng
2016 年 3 月 28 日
tmux 多好
staticor
2016 年 3 月 28 日
楼主 经历过一些 就成长一些.
realpg
2016 年 3 月 28 日
1. 为啥不后台跑,这种需要很长时间执行的东西,直接 ssh 跑,你领导知道么
2. 你那不是 kill 不掉,是硬 kill 掉以后再起不来吧,你需要删除那个 pid 文件, unix 系的启动脚本大多用 pid 文件来检测是否已经在运行,你 kill 掉非正常退出,没有清理 pid 文件
11138
2016 年 3 月 28 日
http://stackoverflow.com/questions/20410904/linux-bash-mysql-load-infile

然后用 cron 定个时间执行。用 nohup 的话,有些系统还是会因为 ssh 断开而挂掉。
Mireas
2016 年 3 月 29 日
凡是重要进程一律丢 screen...这是作为使用 LinuxServer 的一个重要知识...
LINAICAI
2016 年 3 月 29 日
SSH 登录有个超时短线啊。。。你这么玩的
yghack
2016 年 3 月 29 日
shell
anyforever
2016 年 3 月 29 日
@UnisandK 9494,这么重要的事,一定要保证后续能顺利进行啊。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/266870

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX