是否可以在不保持连接打开的情况下保持mysql迁移运行?

时间:2010-04-20 03:59:52

标签: mysql

ALTER TABLE可能需要几天时间 - 在此期间,由于网络问题,连接终止的可能性不可忽略。是否可以启动ALTER TABLE(或CREATE TABLE ... SELECT ...;或其他一些长时间运行的查询)并保持运行而不保持连接始终打开?

(屏幕+控制台mysql客户端的明显解决方案不会轻易工作,因为该服务器上没有运行ssh,只有mysqld)。

1 个答案:

答案 0 :(得分:0)

将alter table命令放在一个脚本中,您将从此脚本脚本中调用

#!/usr/bin/ksh

muser=username
mpass=password
mhost=hostname
mdb=databasename

mysql --user=$muser --password=$mpass --host=$mhost $mdb < alter.sql

然后使用nohup调用shell脚本

nohup myscript.ksh >logfile 2>&1 &

您可以立即注销shell会话。您可能会收到一条警告消息,表明您正在运行作业,但可以忽略它。

您可以跳过sql脚本并将命令放在shell脚本中。我只是不记得语法