MySQL 接続失敗の一般的な障害と原因

MySQL 接続失敗の一般的な障害と原因

=====================================================================================================
障害現象: mysql に接続できない
エラー メッセージ: ERROR 2003 (HY000): 'hostxxxxx' の MySQL サーバーに接続できません (10061)
原因: mysqld データベース サービスが開始されていません。
確認: Windows タスク マネージャーで確認するか、Unix/Linux では ps -aux | grep mysql を実行します。サービスが開始されていることを確認します。
処理: mysqld サービスを開始します
=====================================================================================================

==========================================================================
障害現象: mysql に接続できない
エラー メッセージ: エラー 1130: ホスト xx.xx.xx.xx はこの MySQL サーバーに接続できません
理由: MySQL サーバーはこのクライアントにリモート接続の権限を付与していません。
チェック: MySQL データベースのユーザー テーブルに対応するホストにクライアント マシンの IP アドレスが含まれているかどうかを確認します (% は IP アドレスに制限がなく、リモート接続が許可されていることを意味します)。
解決策: mysql データベースのユーザー テーブルを変更します: update user set host = '%' where user = 'XXX'; flush privileges;
====================================================================================

ユーザーがルートアカウントを使用していないか、ルートアカウントにログイン権限がありません。
GRANT オプションを使用して、'mypassword' で識別される 'myuser'@'%' に *.* のすべての権限を付与します。
承認

=====================================================================================================
障害現象: mysql に接続できない
エラー メッセージ: ERROR 2003 (HY000): 'hostxxxxx' の MySQL サーバーに接続できません (10061)
原因: mysqld クライアント ポートとサーバー ポートが一致していません。
チェック: my.ini でサービス ポートを設定します。これはよくある問題で、特にクライアント ポートがリモート サーバー ポートと一致していない場合によく発生します。解決方法: mysqld サービスを起動します。
=====================================================================================================

障害現象: mysql に接続できない

===================================================================================
エラー メッセージ: ERROR 2003 (HY000): 'hostxxxxx' の MySQL サーバーに接続できません (10061)
原因: mysqld データベース サービスが開始されていません。
確認: Windows タスク マネージャーで確認するか、Unix/Linux では ps -aux | grep mysql を実行します。サービスが開始されていることを確認します。
処理: mysqld サービスを開始します
===================================================================================
エラー メッセージ: エラー 1130: ホスト xx.xx.xx.xx はこの MySQL サーバーに接続できません
理由: MySQL サーバーはこのクライアントにリモート接続の権限を付与していません。
チェック: MySQL データベースのユーザー テーブルに対応するホストにクライアント マシンの IP アドレスが含まれているかどうかを確認します (% は IP アドレスに制限がなく、リモート接続が許可されていることを意味します)。
解決策: mysql データベースのユーザー テーブルを変更します: update user set host = '%' where user = 'XXX'; flush privileges;
===================================================================================
エラー メッセージ: エラー 1045 (28000): ユーザー 'usera'@'localhost' のアクセスが拒否されました (パスワードの使用: YES)
理由: ユーザー アカウントが作成されていません。確認: 管理者 ROOT としてログインした後、show grants for 'usera'@'localhost'; を実行するか、select user from mysql.user; を実行して、ユーザー アカウントが存在するかどうかを確認します。
プロセス: ユーザー アカウントを作成します。
===================================================================================
エラー メッセージ: ERROR 2003 (HY000): 'hostxxxxx' の MySQL サーバーに接続できません (10061)
原因: mysqld クライアント ポートとサーバー ポートが一致していません。
チェック: my.ini でサービス ポートを設定します。これはよくある問題で、特にクライアント ポートがリモート サーバー ポートと一致していない場合によく発生します。解決方法: mysqld サービスを起動します。
===================================================================================
エラー メッセージ: ERROR 2002 (HY000): ソケット '/var/lib/mysql/mysql.sock'(111) を介してローカル MySQL サーバーに接続できません

原因: mysqld の mysql.sock が対応する場所にありません。

対処する:

1. まず、/etc/rc.d/init.d/mysql のステータスをチェックして、起動しているかどうかを確認します。

2. 権限を変更する chown -R mysql:msyql /var/lib/mysql

3. /etc/my.cnf を変更します (注意: 最初にデータベースを停止してください)

    [mysqld]
    データディレクトリ=/usr/local/mysql/data
    ソケット=/var/lib/mysql/mysql.sock
    [mysql.サーバー]
    ユーザー=mysql
    ベースディレクトリ=/usr/local/mysql
    [クライアント]
    ソッカー = /var/lib/mysql/mysql.sock

4. データベースを起動する
===================================================================================

===================================================================================

一般的な検査手順。

1. ホスト名を PING するか、189.xx.xx.xx を PING して、サーバーの IP 層通信に問題がないことを確認します。 PINGコマンドが成功した場合は、(2)に進みます。PINGコマンドが失敗した場合は、ネットワークの専門家に助けを求めてください。

2. TELNET ホスト名 3306 は、サーバーとの TCP 層通信に問題がないことを確認します。 (ポート番号が 3306 ではない可能性があります)。動作する場合は続行します。動作しない場合は、mysqld がすでに実行されているかどうか、およびファイアウォールがポートをブロックしていないかどうかを確認します。

3. ユーザー権限を確認し、付与を表示します...

以下もご興味があるかもしれません:
  • mysql show processlist コマンドを使用して mysql ロックを確認する方法
  • mysql show processlistはmysqlクエリプロセスを表示します。
  • オンライン MYSQL 同期エラーのトラブルシューティング方法の概要 (必読)
  • MYSQL マスターとスレーブの同期外れの問題に対する解決策
  • MySQLの遅いクエリが失敗の原因となった
  • MySQL での MHA 高可用性フェイルオーバー ソリューションのスーパー デプロイメント チュートリアル
  • MySQL レプリケーションの概要、インストール、トラブルシューティング、ヒント、ツール (Huo Ding による共有)
  • MySQLテーブル障害を検出する方法
  • MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します

<<:  JavaScript デザインパターン プロキシパターンの学習

>>:  Linux で crontab を使用してスケジュールされたタスクを追加する方法

推薦する

Vue でのカスタムディレクティブの基本的な使用方法

目次序文文章1. グローバル登録2. 部分登録3. フック機能とパラメータ設定4. 柔軟な使い方(1...

MySQLを水平から垂直に、垂直から水平に変換する方法

データの初期化 `test_01` が存在する場合はテーブルを削除します。 テーブル「test_01...

MySQL クエリ キャッシュのグラフィカルな説明

目次1. 原則の概要クエリキャッシュシステム変数1. クエリキャッシュを持つ2. クエリキャッシュ制...

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...

MySQL データベースのホットスタンバイにおける問題点の分析

以前、MySQL データベースのデュアルマシン ホット スタンバイの設定方法を紹介しました。ご興味の...

html2canvas を使用して、Baidu マップを含む Dom 要素を画像に処理するソリューション

問題 1: Baidu Map はタイル画像 (地図が写真で構成されている) を使用しています。ht...

CSSでemを開く正しい方法の詳細な説明

「通常 1em=16px」と言うのはなぜですか?ユーザーのブラウザによってレンダリングされるデフォル...

MySQL 主キー ID を生成する方法 (自己増分、一意、不規則)

目次1. uuid関数を使用して、一意かつ不規則な主キーIDを生成します。 2. idの自動成長1....

CSS スタイルを変更してグレーの Web ページ (色なし、明るい白黒のみ) を実現するいくつかの方法

通常、清明節、国哀悼日、大地震の日、影響力のある偉人の死去または命日には、ウェブマスターとして、故人...

CSS で適応型ディバイダーを巧みに実装する N 通りの方法

分割線はウェブページでよく使われるデザインです。例えば、Zhihuのその他の回答をご覧ください。 こ...

JSはjQueryのappend関数を実装します

目次コードを見せてください効果をテストする効果追伸別のアプローチコードを見せてください HTMLEl...

js を使用してシンプルなスイッチ ライト コードを実装する

体の部位: <button>ライトのオン/オフを切り替える</button>...

Baidu デッドリンクファイルを作成する方法

Baidu によって定義されているデッドリンク形式には 2 種類あります。 1: XML形式のデッド...

jQueryはアコーディオン効果を実装します

この記事では、アコーディオンを実装するためのjQueryの具体的なコードを参考までに紹介します。具体...

フレックスレイアウトは、1行あたりの固定行数と適応レイアウトを実現します。

この記事では、1行あたりの固定行数+アダプティブレイアウトを実現するフレックスレイアウトを紹介し、皆...