情景: 本地通过 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 断线。问题依旧。
无能为力了,求高人指点!
1
noahzh 2016-03-28 15:31:45 +08:00 1
tmux 适合你,而且不是僵死,那是数据没有 load 完....
|
2
UnisandK 2016-03-28 15:33:38 +08:00 1
你开个 screen 跑啊。。
|
3
CosWind 2016-03-28 15:34:15 +08:00 1
同学你需要在后台执行任务, screen , byobu , tmux 之类都可以
|
4
cexia OP @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 不掉啊! 个人觉得是异常。如果有误还请指点! |
5
noahzh 2016-03-28 15:47:01 +08:00
你看一下 uptime 不是断线是重启了吧.
|
6
CosWind 2016-03-28 15:47:03 +08:00 1
找到 pid, kill -9 不可能杀不掉;
启动的时候看下错误日志,看看是什么原因; 估计是 data_dir 里的文件 load data 中断之后损坏了,重新 init 一次,恢复一次数据吧 |
7
cexia OP 正在研究 screen ,应该就是可行的解决办法。谢谢大家!
|
8
youkochan 2016-03-28 16:09:43 +08:00
screen ~ 喵~
tmux ~ 喵~ |
9
micookie 2016-03-28 16:40:33 +08:00
screen
|
10
yghack 2016-03-28 16:41:59 +08:00
为什么不在后台跑
表示不能理解 |
11
lxy 2016-03-28 16:46:47 +08:00
写个脚本, nohup 挂后台。
|
12
cexia OP |
13
hualuogeng 2016-03-28 19:31:41 +08:00
tmux 多好
|
14
staticor 2016-03-28 22:46:31 +08:00
楼主 经历过一些 就成长一些.
|
15
realpg 2016-03-28 23:42:11 +08:00
1. 为啥不后台跑,这种需要很长时间执行的东西,直接 ssh 跑,你领导知道么
2. 你那不是 kill 不掉,是硬 kill 掉以后再起不来吧,你需要删除那个 pid 文件, unix 系的启动脚本大多用 pid 文件来检测是否已经在运行,你 kill 掉非正常退出,没有清理 pid 文件 |
16
11138 2016-03-28 23:54:10 +08:00
http://stackoverflow.com/questions/20410904/linux-bash-mysql-load-infile
然后用 cron 定个时间执行。用 nohup 的话,有些系统还是会因为 ssh 断开而挂掉。 |
17
Mireas 2016-03-29 00:33:43 +08:00
凡是重要进程一律丢 screen...这是作为使用 LinuxServer 的一个重要知识...
|
18
LINAICAI 2016-03-29 00:39:48 +08:00
SSH 登录有个超时短线啊。。。你这么玩的
|
19
yghack 2016-03-29 08:30:36 +08:00
shell
|
20
anyforever 2016-03-29 17:31:35 +08:00
@UnisandK 9494,这么重要的事,一定要保证后续能顺利进行啊。。
|