web-dev-qa-db-ja.com

InnoDBは機能していますが、「データベースサーバーはInnoDBストレージエンジンメッセージをサポートしていません」と表示されます

WAMPを使用してローカルサーバーにMagentoをインストールしようとしています。 InnoDBがデフォルトのエンジンとして設定されていますが、それでも次のメッセージが表示されます。

データベースサーバーはInnoDBストレージエンジンをサポートしていません。

私は本当に何をすべきかわかりません。誰かが助けることができますか?

9
user2517781

ファイルapp/code/core/Mage/Install/Model/Installer/Db /Mysql4.phpの59行目に移動します

交換:

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

これとともに:

public function supportEngine()
{
    $variables  = $this->_getConnection()
        ->fetchPairs('SHOW ENGINES');
    return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');
}
31
Dhaval

ダウンローダーからのデフォルトのインストールでこのエラーが発生しました。

これは、ダウンローダーがmysqlバージョン5.6.1のhave_innodb変数に依存しているためです。利用できない公式ドキュメント( http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_have_innodb )は、代わりに「SHOWENGINES」を使用すると述べています。それに応じてダウンローダーファイルを変更しました:

/**
 * 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
user2718285

正しく覚えていれば、WAMPサーバーにはinnodbが無効になっていますが、アクティブ化するのは簡単な作業です。

My.iniを編集します(wampmanagerメニューを使用して編集します)

この行を探してください。およそ90〜100行目あたりで、一連のパラメータがすべてコメントアウトされているのがわかります。コメントではなくなるように#を削除します。 paramsの意味について少し調べてから、innodbを正常に機能させるためにいくつかの調整を行う必要があるかもしれませんが、コメントを外すだけでinnodbがアクティブになります。

# 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
RiggsFolly

新しいバージョンはinnodbストレージをサポートしていないために発生します。公式ウェブサイトから以前のバージョンのmysqlofWampをインストールしてください。完全なWampをインストールする必要はありません。ちょうどmysql。また、必要に応じて、wampから適切なバージョンのmysqlを選択するだけです。

0
Ahmad Sharif

1)Magentoを削除してもう一度貼り付けます

2)MySQL >> my.iniに移動し、コードを次のように変更します(バージョン番号を確認してください)。

# 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:10M: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

3)app/code/core/Mage/Install/Model/Installer/Db/Mysql4.phpに移動し、コードを次のように変更します。

public function supportEngine()
{
    $variables  = $this->_getConnection()
        ->fetchPairs('SHOW ENGINES');
    return (isset($variables['InnoDB']) && $variables['InnoDB'] != 'NO');
}

4)phpMyAdminに移動し、ユーザーがホスト127.0.0.1( "localhost"ではなく "%"ではない)を使用していることを確認します。

このサイトの人々の貢献なしにはそれを機能させることはできなかったでしょう、それでクレジットは私の上の2人と他のページからの他の何人かのユーザーに与えられます。

これですべての問題が解決するはずです。

0
Mohammad