以前用的MySQL6.0 alpha版,在实用中发现一些问题(比如有些数据表数据会损坏),稳定性不够,于是想换成SUN收购MySQL出的正式版,比如5.1,测试发现如果只替换bin下的文件,不能成功更新,所以不能重复利用以前的data相关文件。
另外还发现一个问题,当把做好的MySQL6的数据库文件夹(已建好初始表结构和数据)放到VSS上,再下下来就有问题了,用客户端工具SQLyog打开后发现,凡是带触发器的表都看不见了!什么原因?
如果用sql语句直接查询,得到:
Error Code : 1341
Malformed file type header in file './gepon/t_equipment.TRG'
这样的提示。
经替换验证,是数据库定义所在目录的影响(即表定义文件.frm所在目录)
好像原因是再怎么check in, 那些.TRN .TRG文件还是被VSS认为和本地不同有关(真的比较内容又看不出有什么不同,去掉忽略OS差异才显示内容有差异,就是把换行改成回车换行了,估计VSS私自把它改了);
这时即便在VSS里面把*.TRN;*.TRG文件设置为二进制也不行,因为已经加入的trn等文件已被标记为文本文件。
后来发现可以在把*.TRN;*.TRG都check in之后,把它们的属性再都改成binary,不过就不好把本地的再覆盖上VSS了。
最终,在VSS把该目录下的那些相关文件都删除了,重新又加了一次那些文件到VSS,注意这次会问是否要恢复删除的文件,选择NO(即重新加),这些文件终于都当作二进制文件,不会被VSS乱改换行符了。