gpt4 book ai didi

mysql - 在实时服务器上更改 MYSQL 数据库表

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:34 24 4
gpt4 key购买 nike

您好,我们有一个数据库,每秒在这个要添加新列的特定表上读取和写入 3 到 4 条记录。该表有超过 60000 条记录。我需要为此添加一个新列。MySQL>ALTER TABLE 表名 ADD 列名 int(1);

完成这项工作最安全的方法是什么。是否可以在不停止 MYSQL 服务器并且在更新过程中不丢失新记录的情况下添加这个新列,因为我认为这将花费很长时间?

最佳答案

MySQL 文档 (http://dev.mysql.com/doc/refman/5.1/en/alter-table.html) 提供了以下信息:

“在大多数情况下,ALTER TABLE 会制作原始表的临时副本。MySQL 等待其他正在修改表的操作,然后继续。它将更改合并到副本中,删除原始表,然后重命名新的。当 ALTER TABLE 正在执行时,原始表可被其他 session 读取。在 ALTER TABLE 操作开始后开始更新和写入表将停止,直到新表准备就绪,然后自动重定向没有任何更新失败的新表。临时表在新表的数据库目录中创建。“

根据文档,应该不会有任何数据丢失。但一如既往,在对实时系统执行任何更改之前,请在测试机器上检查相同的场景。

关于mysql - 在实时服务器上更改 MYSQL 数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10160074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com