【问题标题】:Copy large mysql table rows into new table将大型mysql表行复制到新表中
【发布时间】:2016-02-13 08:23:46
【问题描述】:

我们在 mysql 5.6 上有大表。现在我们要更改此表的架构。我们没有对现有表执行更改表,而是将整个表数据复制到新表中。

使用类似以下的查询

insert into new table select * from old table 

表大小约为 350 GB,有 4.5 亿行。

问题是如何从 mysql 客户端运行这种类型的长时间运行的查询

  1. 我应该在后台运行吗,可能吗,比如 nohup。

  2. 如果 mysql 客户端连接在运行查询过程中退出会发生什么情况。

  3. 如果我在使用 mysql 客户端连接执行命令后关闭笔记本电脑会发生什么情况

毕竟我只是不想中断我的查询,请提出最佳做法。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    要实现这一点,您可以使用 Cron。 Cron 是用您的编程语言编写的脚本,无需任何用户交互即可在后台执行。所以这是你第一个问题的答案。

    请在您的服务器上设置此 cron。所以不会有任何中断的问题。请为您的脚本设置一些较长的执行时间。这是你第二个问题的答案。

    由于 Cron 在服务器上设置,它将独立于您的任何机器,所以不用担心关闭这是您的第三个问题。

    希望对你有所帮助。

    【讨论】:

    • 你不需要在sql server上设置cron。您可以在放置代码的托管服务器上设置它。
    猜你喜欢
    • 2012-09-09
    • 2015-06-28
    • 2014-01-02
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多