关于生产数据库的MySql ALTER TABLE - 有任何问题吗?

One*_*erd 12 mysql alter-table

我有大约100个数据库(所有相同的结构,只在不同的服务器上),每个数据库大约有十几个表.大多数表都很小(比方说100MB或更少).偶尔会出现边缘情况,表格可能很大(比方说4GB +).

我需要在每个数据库的几乎每个表上运行一系列ALTER TABLE命令.主要是在结构中添加一些行,但是有一些更改,例如将一行从varchar更改为tinytext(反之亦然).还添加了一些新索引(但索引新行,而不是现有索引,所以假设这不是什么大问题).

我想知道这是多么安全,以及这个过程是否有任何最佳实践.

首先,我是否有可能破坏或删除表中的数据.我怀疑没有,但需要确定.

其次,我假设更大的表(4GB +),这可能是几分钟到几个小时的过程?

关于在我有兴趣学习的生产数据库上执行ALTER TABLE命令我应该知道的任何事情和一切.

如果知道任何值,我计划通过PHPMYADMIN发布命令.

谢谢 -

Yad*_*ada 5

在应用任何更换器之前先进行备份.有两种方法可以做到: mysqldump一切都可以复制你的mysql数据文件夹.

其次,您可能希望mysql从命令行使用.PHPMyAdmin可能会超时.大多数PHP服务器的超时时间不到10分钟.或者您意外关闭浏览器.