首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InnoDB工作,仍然显示“数据库服务器不支持InnoDB存储引擎消息”

问InnoDB工作,仍然显示“数据库服务器不支持InnoDB存储引擎消息”
EN

Stack Overflow用户
提问于 2013-06-24 20:27:51
回答 5查看 28.9K关注 0票数 9

我正在尝试使用WAMP在本地服务器上安装Magento。InnoDB被设置为默认引擎,但它仍然向我显示消息:

数据库服务器不支持InnoDB存储引擎。

我真的不知道该怎么办。有人能帮忙吗?

EN

回答 5

Stack Overflow用户

发布于 2013-09-12 06:54:04

转到文件app/code/core/Mage/Install/Model/Installer/Db/Mysql4.php的第59行

取代:

代码语言:javascript
复制
public function supportEngine()
{
    $variables  = $this->_getConnection()
        ->fetchPairs('SHOW VARIABLES');
    return (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') ? false : true;
}

在这方面:

代码语言:javascript
复制
public function supportEngine()
{
    $variables  = $this->_getConnection()
        ->fetchPairs('SHOW ENGINES');
    return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');
}
票数 31
EN

Stack Overflow用户

发布于 2014-05-28 09:54:22

在下载程序的默认安装中,我遇到了此错误。

因为下载程序依赖于have_innodb变量,即MySQLVersion5.6.1。不可用的正式文档(innodb)声明使用“显示引擎”代替,因此我相应地修改了下载程序文件:

代码语言:javascript
复制
/**
 * Check availabe InnoDB on database.
 *
 * @return Magento_Downloader_Validator
 */
protected function _checkDbInnoDb()
{
    if (!$this->_connection) {
        return $this;
    }

    $result = $this->_connection->query('SHOW ENGINES');
    while($row = $result->fetch()){
        if($row["Engine"] == "InnoDB" && $row["Support"] != "NO"){
            $this->addMessage('Database server supports InnoDB storage engine');
            return $this;
        }
    }
    $this->addError('Database server does not support InnoDB storage engine');
    return $this;
}
票数 5
EN

Stack Overflow用户

发布于 2013-06-27 11:11:54

如果我回忆正确的话,WAMP Server会禁用innodb,但是激活它是一项简单的工作。

编辑my.ini (使用wampmanager菜单编辑它)

查找这一行,它大致围绕第90-100行,您将看到一组参数全部注释掉。删除#,这样它就不再是评论了。您可能需要对params的含义做一些研究,然后您可能需要做一些推文才能使innodb正常工作,但只需取消注释就可以激活innodb。

代码语言:javascript
复制
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = D:/wamp/bin/mysql/mysql5.5.28/data/
innodb_data_file_path = ibdata1:64M:autoextend
innodb_log_group_home_dir = D:/wamp/bin/mysql/mysql5.5.28/data/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 4M

更改并保存ini文件后,重新启动MySQL服务。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17284498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档