首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ssh运行远程命令似乎会挂起所有其他网络活动。

使用ssh运行远程命令似乎会挂起所有其他网络活动。
EN

Server Fault用户
提问于 2015-02-23 20:33:36
回答 1查看 249关注 0票数 0

我运行以下命令从远程计算机备份mysql数据库:

代码语言:javascript
复制
ssh root@example.com 'mysqldump mainserver' | gzip -c > mainserver.sql.gz

我已经安排了命令的时间,似乎需要2.5到3分钟。它似乎没有任何问题。

不过,问题是远程服务器上的所有其他网络通信似乎都被中断了。

远程服务器有"comet"-like http连接(长期开放的连接),这些连接似乎停止了。还有一些其他TCP连接处于打开状态,这些连接似乎是在上面的ssh命令完成时断开的。(至少在ssh命令停止时会出现日志消息,但我怀疑没有比此更早的数据传输)。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-02-23 21:43:55

数据库是锁定的

尽管问题中将其描述为“远程服务器上的所有其他网络通信似乎都被中断”,但数据库转储锁(所有)无害数据库表的可能性要大得多。

在这种情况下,任何读取/写入锁定表的进程都将等待转储完成,然后才能获得锁本身、对数据库进行读/写并完成请求。如果所有http流量都需要对数据库进行读/写,这将给出所有http流量被阻塞的感觉。

防止锁

Mysqldump提供了-单笔交易标志,它允许mysqldump不锁定innodb表。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/670809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档