9

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

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

私は本当に何をすべきかわかりません。誰か助けてくれませんか?

4

5 に答える 5

31

ファイル 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');
}
于 2013-09-12T06:54:04.253 に答える
5

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

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

/**
 * 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;
}
于 2014-05-28T09:54:22.700 に答える
3

私の記憶が正しければ、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 サービスを再起動します。

于 2013-06-27T11:11:54.157 に答える
0

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」ではなく、「%」ではありません)。

このサイトの人々の貢献がなければ、私はそれを機能させることができなかったでしょう.

これですべての問題が解決するはずです。うまくいきました。

于 2013-09-13T01:55:49.590 に答える