游子最近一个项目升级,决定使用阿里云数据库RDS,应用是Discuz程序。之前一直用的自健数据库,性能有待提升,这次升级RDS应该对未来发展有所帮助。阿里云RDS数据库mysql,版本为mysql5.7,它默认引擎是innodb,且不支持memory,discuzx3.x默认数据库引擎都是MyISAM和memory,好在阿里云有个在线迁移工具,可以将本地在线迁移进云数据库RDS,迁移过程中MyISAM会自动转为innodb。
错误:Storage engine MyISAM is disabled (Table creation is disallowed)
discuzX3.x由mysql5.6 迁移的时候,以前阿里云的RDS是兼容MyISAM的,现在已经不再兼容,仅支持InnoDB。
discuzX3.2有3个表迁移失败,报错如下:
错误:Storage engine MyISAM is disabled (Table creation is disallowed).点立即修复提示:错误:class java.sql.SQLException:Storage engine MyISAM is disabled (Table creation is disallowed).
执行如何SQL即可,在还没有迁移到数据库里面执行如下SQL,执行前先备份以防万一!
ALTER TABLE pre_common_member_grouppm DROP PRIMARY KEY ,ADD PRIMARY KEY ( gpmid, uid ) ; ALTER TABLE `pre_common_member_grouppm` ENGINE = InnoDB
ALTER TABLE pre_forum_post DROP PRIMARY KEY ,ADD PRIMARY KEY ( position, tid ) ; ALTER TABLE `pre_forum_post` ENGINE = InnoDB
ALTER TABLE pre_forum_postposition DROP PRIMARY KEY ,ADD PRIMARY KEY ( position, tid ) ; ALTER TABLE `pre_forum_postposition` ENGINE = InnoDB
这样就可以顺利迁移到RDS了,如果遇到问题,欢迎给游子留言,时间空余的时候很乐意帮助你。
您好,我们论坛也准备上云了,请问改用InnoDB后DISCUZ程序是否需要修改?
DZ程序不需要改!能正常运行
你好,请教一下,今天购买了一个 阿里云云数据库RDS 5.7, 新装 DISCUZ X3.4 提示数据库连接不上
错误代码如下
run_sql_error
Can not connect to MySQL server
Error:Connection timed out
Errno:2002
我是用的虚拟主机的空间 + RES 5.7 数据库 ,就设置了白名单,然后下一步下一步安装,结果安装不上,请教一下,谢谢。
你好,应该是RDS里面没有设置白名单吧,你设置虚拟主机IP到白名单里面试试。还有就是你使用的是外网连接,还是内网链接。RDS默认是内网,你要用外网链接地址才行。
ALTER TABLE pre_forum_postposition DROP PRIMARY KEY ,ADD PRIMARY KEY ( position, tid ) ;
ALTER TABLE `pre_forum_postposition` ENGINE = InnoDB
你好。。我这一句执行没有找到。我是x3.4
试试能否运行正常,如正常则无需处理!