[英]alter table mysql offline or not?
我需要在当前表中添加一列。
这张桌子在白天和晚上都经常使用。 我发现我需要使用此处找到的alter命令进行更改
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
我在开发服务器上测试了它。
我花了大约2个小时才完成。 现在我想在生产服务器上执行此操作?
这会阻止我的网站吗?
为什么不在网站上显示一条消息,说明您将在2012年1月7日午夜时间执行维护。
这样,你不会破坏任何数据,你不会得到任何mysql错误。 您执行ALTER并在完成后再次启动该站点(不要忘记您的代码以确保您拥有正确的字段等)。 轻松解决方案
Stackoverflow会这样做,为什么不是你的?
是的,在ALTER TABLE期间,所有读取和写入都被阻止。 如果您的网站需要使用该表,请求将挂起。
尝试pt-online-schema-change 。 它允许读取和写入继续,同时它捕获一旦重组完成后要对更改的表重放的更改。
在您的开发服务器上仔细测试,以便了解它的工作原理和预期结果。
它不会阻止您的网站,但它可能会导致错误。
当然,如果不查看应用程序的所有代码,就无法回答这个问题。
当有疑问安排维护窗口时,底线是。
PS:我觉得这是更安全和一种万无一失的方式(根据我的经验)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.