MySQLPatch制作方案此Patch方案只限于表、视图、存储过程、函数、触发器等MySQL数据库对象,其他特殊对象应该根据实际应用场景特殊处理。1.变更脚本生成—由开发人员完成当某个数据库对象发生变动时,变更脚本必须由开发人员编写相应的形如ALTER的SQL变更脚本,不允许使用各种MySQL客户端工具直接连接服务器修改表结构或者表中数据。原因:不同的客户端工具可能会产生功能相同但是不一样的SQL脚本。2.导出变更对象脚本—由测试人员完成导出本次Patch中所有变动的数据库对象。下面以MySQL客户端工具【NavicatforMySQL】为例,具体操作方法如下:第一步:启动MySQL客户端工具NavicatforMySQL,双击桌面图标【NavicatforMySQL】第二步:新建一个连接,点击【连接】,如下图第三步:弹出如下窗口:连接名:此处给本次连接起一个名称,名称可以任意,最好简明易懂主机名/IP地址:输入需要连接的服务器主机名称或者IP地址埠:输入连接的MySQL服务器端口号用户名:输入连接的MySQL服务器登录名密码:输入连接的MySQL服务器密码上述信息输入完成后,点【确定】按钮。第四步:双击【连接名称】,如下图所示:第五步:双击连接名称后,所有的数据库都会显示出来,选择要操作的数据库,单击右键,选择【数据传输】,弹出如下窗口:第六步:切换到【高级】选项卡选择完毕后,点击【开始】按钮。注意:上述界面如果是导出表结构和数据,在打开【高级】选项卡时的默认情况无需任何操作;上述界面如果仅仅导出表结构,在打开【高级】选项卡时的默认情况下,去掉【创建记录】的勾选即可。第七步:弹出如下窗口,单击【确定】按钮第八步:进度条满格后,单击【关闭】上述过程是以NavicatforMySQL导出的,其他MySQL客户端工具也可以导出,过程类似,此处不做详述。如:SQLMANAGER或者MySQLWorkbench客户端工具。特别注意:发给现场的变更脚本导出工具一定要和客户现场人员使用的导出工具一致。第九步:单击【关闭】后弹出如下对话框,选择【否】,导出完成3.执行变更脚本—由客户现场升级人员完成执行变更脚本。4.导出变更对象脚本—由客户现场升级人员完成步骤和2中的导出操作完全一样。再次重复强调:发给现场的变更脚本导出工具一定要和客户现场人员使用的导出工具一致。5.验证本次Patch是否成功使用【BeyondCompare】工具,将《导出变更对象脚本—由测试人员完成》导出的文件和《导出变更对象脚本—由客户现场升级人员完成》进行比较,如果相同证明本次Patch成功,否则说明本次Patch没有成功,请从头检查相关操作。