データベース接続エラー。magentoのインストール


10

magentoをインストールしようとしましたが、ブラウザからmagentoをインストールしようとすると、Magentoのインストール中に「データベース接続エラー」が表示されます。

ここに画像の説明を入力してください


phpmyadminにデータベースを作成し、そのユーザー名とパスワードを指定する必要があります。
Akhilesh Patel

チュートリアルに従ってくださいsiteground.com/tutorials/magento/magento_installation.htm
Akhilesh Patel

回答:


9

まず、データベースのユーザー名とパスワードを確認します。この手順に進む前に、MySQLでデータベースを設定しておく必要があります。ユーザーを作成し、そのユーザーにアクセス権限を付与する必要があります。

次に、MySQLサーバーの設定を確認します。デフォルトのポート番号は3306です。ただし、システム管理者が別のポート番号に変更する場合があります。または、MAMP / WAMPなどのソフトウェアパッケージを使用している場合は、ポート番号が3306以外に設定されている可能性があります。これらの場合、ポート番号をホストフィールドに明示的に入力する必要があります。

これらがすべて正しいにもかかわらずデータベース接続エラーが発生する場合は、rootアカウントを使用してデータベースにアクセスしてみてください。ルートが機能する場合は、MySQL設定の権限に問題があることを意味します。サーバーにセキュリティリスクを追加するため、将来の本番環境への展開にrootアカウントを使用することはお勧めしません。


まだデータベース接続エラーがあります。
Darshan Patel

5

これはかなり古い質問ですが、最近遭遇したので、この回答が他の人の役に立つことを願っています。私の問題は、新しいWAMPインストールに加えて、古いバージョンのMagentoに帰着しました。MySQL 5.6.1以降、have_innodb変数は削除されました。ただし、Magentoインストーラーはその変数をチェックし、見つからない場合はエラーをスローします。実際に例外ログを確認すると、データベースサーバーがInnoDBをサポートしていないというエラーが表示されます。ただし、catchハンドラーでは、その例外のみをログに記録し、一般的な「データベース接続エラー」メッセージをスローします。

DBがInnoDBをサポートしていることが確実な場合、最も簡単な修正は、を編集しapp\code\core\Mage\Install\Model\Installer\Db.phpcheckDatabaseメソッドを見つけて、をチェックするtryブロックの最後の部分をコメント化することですhave_innodb。通常、コアファイルの編集は推奨しませんが、これはインストーラーを機能させるためだけなので、十分に安全です。


4

最初にデータベースを作成します http://localhost/phpmyadmin

DB名を想定しましょう:testdb

設定ページのdb名:testdbユーザー名:rootパスワード:空(値を入力しないでください)


4
  • に行く app/code/core/Mage/Install/Model/Installer/Db.php
  • checkDatabase($data)関数を見つける
  • この関数の最後には、次のコードがあります。

    Mage::throwException(Mage::helper('install')->__('Database connection error.'));
  • 次のように変更します。

    Mage::throwException(Mage::helper('install')->__($e->getMessage()));
  • Magentoをインストールするブラウザーに移動し、Continueボタンをクリックします

  • 今、あなたはいくつかの適切なエラーメッセージを見ることができるはずです

私の場合、次のエラーメッセージが表示されました。

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

そこで、これを解決するために、同じcheckDatabase関数でInnoDBチェックにコメントを付けました。

// check InnoDB support
/*if (!isset($variables['have_innodb']) || $variables['have_innodb'] != 'YES') {
    Mage::throwException(Mage::helper('install')->__('Database server does not support the InnoDB storage engine.'));
}*/

その後、Magentoをインストールすることができました。


1

このコードを使用して、データベース接続エラーの種類の詳細を確認したり、ユーザー名とパスワードが正しいかどうかを確認したりできます

<?php
      $mysqli=mysqli_connect("host","user","password","database name");

      if(mysqli_connect_errno()){
          printf("Connect failed: %s\n", mysqli_connect_error());
          exit();
      }else{
          echo "Connection succesfull!";
      }
?>

このスクリプトをphpファイルとして保存し、サーバーに配置します。出力は接続エラーになります。エラーがない場合、出力は「接続成功!」になります。「host」-ここに入力できます「localhost」、「user」-ここにデータベースのユーザー名を入力する必要があります、「password」-ここにデータベースのパスワードを入力する必要があります、「database name」-ここにデータベース名を入力する必要があります


0
  1. 次のようにデータベース名を指定しました magento
  2. そのため、そのmagentoという名前のデータベースを作成したかどうかを確認してください。
  3. そうでない場合は、magento最初に呼び出される空のデータベースを作成する必要があります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.