数据库迁移
前言
数据库迁移有啥好记录的, 一句话搞就完了.
操蛋在于, 项目没有实际开发测试完,但是需要先写发版步骤.
场景:
平常开发服务器A, 要给客户定制化部署一份B. A的表结构等信息还没有完全确定, 开发中可能存在变动, 如何写发版迁移步骤呢?
mysql:
方案1(navicat视图化工具):
navicat 通过数据库连接工具直接迁移.
工具-> 结构同步/数据同步. 选择源和目标之后执行.
-
优点:
链接简单, 所见即所得
-
缺点:
不容易描述, 要么截图让运维按照截图操作, 要么现场指导, 各种点击选择容易出错.
比如我只迁移某个库中的某个表的数据, 操作上可能要找到表再勾选, 比较难找.
方案2(mysqldump):
示例:
仅导出结构
mysqldump -u账号 -p密码 -hIP地址 -d -B 数据库1 数据2 数据库3 > 导出的建库语句.sql
导出数据
mysqldump -u账号 -p密码 -hIP地址 数据库 表1 表2 表3> 导出数据执行语句.sql
有了sql怎么写到新库, 这个就不赘述了.
-
优点:
不会出错,傻瓜式操作,不会因为误点击导致数据出错.
-
缺点:
需要拼接账号密码ip地址才能操作, 落了下乘.