随着业务的扩展,对已经存在业务历史表的表结构进行变更,比如增加字段,往往在升级的过程中,执行历史脚本,比较耗时。考虑到当前mysql是表结构和数据分离,因此通过替换表结构达到升级的目的。流程如下:
- 关闭数据库 (service mysqld stop;)
- 获取历史表结构信息(show create table xxxx)
- 根据获取的表结构信息,创建新表,并执行变更表结构的升级脚本。
- 查看数据目录 (show variables like 'datadir'),远程登录上去,找到对应的库下对应的表结构。
- 使用新的表结构直接覆盖旧的表结构
- 重新给用户附加权限(chown -R mysql.mysql 数据库数据目录 )
- 重启数据库(service myslqd start;)