找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

通达OA官网网站
本版
查看: 2110|回复: 0

升级数据库表存储引擎的一个方法

  [复制链接]

257

主题

1154

回帖

1万

牛毛

游客

积分
18851
QQ
发表于 2016-3-16 12:55:23 | 显示全部楼层 |阅读模式
本帖最后由 cgft 于 2016-3-16 13:03 编辑

OA的文件管理模块,文件柜文件表file_content 崩溃了,造成整个文件系统陷于瘫痪。
在系统管理模块的数据库管理里面查,可以看到file_content表大小是0。原因不详。
用前一天的备份,恢复file_content表后,工作正常。但在系统管理模块的数据库管理里面,显示的该表类型是MyISAM,而看其他数据表,其存储引擎都是InnoDB。心中存疑,遂咨询了通达客服,确认2015现版本的file_content表存储引擎是InnoDB型。
从安全角度讲,MyISAM的存储引擎的安全性不如InnoDB,估计也是由于MyISAM存储引擎健壮性不强,引起的数据表的崩溃。
看来,我的系统在升级的时候,file_content表的类型未能随之升级。至于为什么,就不得而知了。
用phpMyAdmin在后台操作,经试验,无法将MyISAM型的表直接改为InnoDB型的表。遂采用如下变通方法:
1. 将file_content表,更名。例如改名为file_content0(这个表是MyISAM型的);
2. 从其他2015版中,导出InnoDB型的file_content表,然后导入至系统;(采用这一步,是最省事且安全的做法。免去了建表、建索引的麻烦)
3. 清空file_content的数据;(只保留表结构)
4. 把file_content0的数据,转而复制到file_content中。见图1


操作后,经检查,存储引擎改变成功。原数据表file_content0,也可以删除了。




1.jpg
2.jpg
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

咨询电话:400 818 0505 通达OA,国内协同管理软件行业内唯一的央企单位,中国协同OA软件的领跑者,优秀协同办公解决方案供应商

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|由NB5牛论坛提供技术支持NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-13 15:33 , Processed in 0.130576 second(s), 33 queries , Yac On.

Powered by Discuz

Copyright © 2001-2024, 北京通达信科科技有限公司.

快速回复 返回顶部 返回列表