最高のWordPressバックアップ
& 移行プラグインを今すぐ入手しよう
デュプリケーターを今すぐ入手

デュプリケーター・ドキュメンテーション

デュプリケーターのドキュメント、参考資料、チュートリアル

データベース接続の問題を解決する方法

インストール中にデータベースへの接続に問題が発生しましたか?このガイドでは、データベース接続に関する一般的な問題を取り上げ、ステップバイステップで解決する方法を説明します。

問題A:検証の失敗

インストーラーのステップ1(Pro)とステップ2(Lite)で、"Test Database "をクリックすると、失敗ステータスが表示されます。

解決策1:バリデーション・チェックリスト

データベースの認証情報とパーミッションが正しく設定されていることを確認する:

  • データベースとデータベース・ユーザーが作成されていることを再確認してください。
  • パスワードが使用中のデータベース・ユーザーと一致していることを確認する。
  • データベース・ユーザーが正しい権限でデータベースに割り当てられていることを確認する。
  • 文字入力を検証するために、データベース・ユーザーのパスワードを一時的に'test123'に変更します。
  • 正確な必要パラメータについては、ホスティング・プロバイダーにお問い合わせください。

解決策2:ホスト名の検証

ほとんどの場合、デフォルトのホスト名「localhost」が機能しますが、ホスティングプロバイダによって異なる場合があります。正確な設定をホストに確認してください。よくあるバリエーションは以下の通りです:

  • mysql.yourname.com
  • mysql.hostingcompany.com
  • mysql.hostingcompany.com:1400

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)」のようなエラーが表示される場合は、ホスト名が正しくない可能性があります。

クイックフィックス

ホスティングプロバイダーに連絡して、データベース接続のための正しい認証情報を確認してください。以下のサポートリソースを参照してください:

  • ゴーダディ
  • ホストモンスター
  • ブルーホスト
  • ホストゲーター
  • ドリームホスト
  • Googleで検索 "[Your host] database setup"

解決策3:SQLモードの競合

Error reading database variables" メッセージが表示される場合、MySQL インスタンスの SQL モードで "ANSI_QUOTES" が有効になっている可能性があります。このモードでは MySQL は二重引用符を文字列ではなく識別子として扱うため、問題が発生する可能性があります。これを解決するには、ANSI_QUOTES SQLモードを削除してください。

よくあるエラーメッセージ

  • Unknown column ‘wp_table’ in ‘where clause’

課題B:アクセス拒否

次のようなエラーが表示された場合 Access denied for user 'myuser'@'localhost' (using password: YES) データベース接続をテストする場合は、以下の解決策に従ってください。

よくあるエラーメッセージ

  • Error: 'Access denied; you need (at least one of) the PROCESS privilege ...
  • The database user for this WordPress site does NOT have sufficient permissions to write stored procedures ...

解決策1:完全な権限を割り当てる

データベース・ユーザーに完全な権限が割り当てられていることを確認してください:

  • パーミッションを確認する最も簡単な方法は、ホスティングプロバイダーに問い合わせることです。
  • WordPress Codex Guideに従って、データベースとユーザーを作成してください。
  • cPanelのデモについては、こちらの記事をご参照ください。
  • MySQL 8+ 用:以下のコマンドを実行し、必要なすべての権限を付与する: GRANT SHOW_ROUTINE ON *.* TO <USER>@<LOCATION>;

解決策2:新しいデータベースユーザーを作成する

全権限を割り当ててもうまくいかない場合は、新しいデータベース・ユーザーを作成し、全権限を与えて、そのユーザーにデータベースを割り当ててください。これにより、データベースに保存されているキャッシュの問題を解決できます。

解決策3:サーバー間でデータベースを移動する

MySQLサーバー間でサイトを移行する場合、MySQLのバージョンが異なると同じディレクティブをサポートしないことがあり、次のようなエラーが発生します:

  • mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege ...'

回避策

  • PHP モードでビルドする:MySQL ディレクティブの競合を避けるために PHP を使用します。
  • SQL スクリプトを修正します:インストーラを実行する前に、サポートされていないディレクティブを SQL ファイルから削除します。

問題C:データベースのタイムアウト

ステップ2でSQL接続のタイムアウトやメモリー・エラーが発生した場合は、以下の解決策に従ってください。

解決策1:データベース・チャンキングを有効にする

このマルチスレッド処理は、データベースのインストールをより小さなクエリに分割する。

  1. インストーラーを実行し、"Advanced"ボタンをクリックしてAdvancedモードを有効にします。
  2. ステップ1のオプション " データベースタブ " 処理で、"チャンキングモード "を有効にする。
  3. インストールを続ける。

解決策2:データベース抽出をスキップする

新しいデータベーステーブルを作成する代わりに、手動でデータベースをインポートします。

ステップ

  1. 抜粋 database.sql アーカイブより
  2. phpMyAdminを使用して既存のテーブルを削除し、SQLファイルをインポートします。
  3. インストーラーで、詳細オプションの「データベース抽出をスキップ」を選択します。

解決策3:デュプリケーターLite固有の問題

Duplicator Lite(v1.4.7.2またはそれ以前)はシングルスレッドデータベースのインポートのみをサポートしています。

回避策

  • インストーラーはオフピーク時に実行する。
  • Duplicatorの設定でBuild Modeを "PHP "に変更する。
  • サーバーのタイムアウト制限を増やすよう、ホストに連絡してください。
  • SQL ファイルチャンキングを使用するには、Duplicator Proにアップグレードしてください。

よくあるエラーメッセージ

  • MySQL Server has gone away, out of memory, or 500 Error

トラブルシューティング

接続の問題が解決しない場合は、PHPコードを使用して問題を切り分けます。という名前のファイルを作成します。 db-test.php をインストーラーと同じディレクトリに置き、以下のコードを挿入する:

<?php
$servername = "your_server";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Success: Connected to MySQL!";
?>

スクリプトが失敗した場合は、ホスティングプロバイダーとスクリプトを共有して、さらにデバッグを行ってください。

このスクリプトは Duplicator Pro ツールディレクトリ/plugins/duplicator-pro/tools/db-test.php.

これらの解決策に従うことで、データベース接続の問題を解決し、スムーズなインストールプロセスを実現することができます。

この記事は役に立ちましたか?

関連記事