我刚刚读过这个答案关于数据库迁移的 DBA。其中包含这样一句话:
唯一的问题是当数据库太大并且管道崩溃时。
这是关于这个管道的:
mysqldump --all-databases -uuser -ppassword | mysql -hremoteserver -uremoteuser -premoteserver
那里没有描述崩溃。所以我的问题是管道怎么会塌陷? (在这种情况下以及一般情况下。)以 Linux 为重点,但也欢迎其他 Unice。
答案1
SIGPIPE
如果管道的读取器关闭了管道的末端,则写入器在尝试写入时将收到信号 ( )。该信号默认是致命的,但可以被捕获。
在原始帖子的上下文中,我认为“崩溃”只是指这样一个事实:由于管道的读取器部分是一个 mysql 进程,打开与远程数据库的连接,因此存在由于网络错误而丢失连接的风险, 例如。在这种情况下,当 writer 部分仍在写入时,mysql 进程将退出并返回错误。