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 を使用してスケジュールされたタスクを追加する方法

推薦する

Windows ベースの MySQL 8.0.12 のインストール

このチュートリアルは Windows システムにのみ適用されます。インストールしたがまだインストール...

ウェブサイトデザインの経験 ウェブサイト構築におけるよくある間違いのまとめ

注意: 計画、設計、開発のいずれの場合でも、これらの間違いは避けなければなりません。 1. ナビゲー...

Vue 組み込みコンポーネントのキープアライブでの LRU アルゴリズムの使用

目次Vue の keep-alive 組み込みコンポーネントの使用でもこのアルゴリズムが使用されます...

Vue は Axios リクエスト フロントエンドのクロスドメイン問題をどのように解決するのか

目次序文1. クロスドメインの問題はなぜ発生するのでしょうか? 2. 解決策クロスオリジンリソース共...

SpringBoot + Vue プロジェクトを Linux サーバーにデプロイするための詳細なチュートリアル

序文SpringBoot + Vueのフロントエンドとバックエンドを分離したプロジェクトをどのように...

Tomcatでcatalina.batがUTF-8に設定されている場合、コンソールに文字化けした文字が表示されます

1. catalina.bat は UTF-8 に設定する必要があります。UTF-8 に設定しないと...

HTML 内の CSS および JS リンクのバージョン番号 (キャッシュを更新)

背景検索エンジンで「.htaccess キャッシュ」というキーワードを検索すると、ウェブサイトのファ...

セマフォによるTomcatの異常終了の解決方法

最近はビッグデータで遊んでいます。友人が私のところに来て、オンラインの Tomcat が不可解に終了...

Nginx ログのカスタマイズとログ バッファの有効化の詳細な説明

序文ウェブサイトのアクセス元をカウントしたい場合は、PHP を使用して情報を取得してデータベースに記...

ReactでCSSスタイルを動的に変更する2つの方法の詳細な説明

最初の方法: デモとしてボタンをクリックしてテキストを表示または非表示にするクラスを動的に追加します...

フォームの読み取り専用属性と無効な属性についての簡単な説明

フォーム内の読み取り専用および無効な属性1. 読み取り専用:サーバーは、ユーザーがデータを変更するこ...

Vue.js での $emit の使用に関する詳細な説明

1. 親コンポーネントは props を使用して子コンポーネントにデータを渡すことができます。 2....

Vue のフィルターウィジェットの詳細な使用方法

この記事では、参考までにVue More Filter Itemウィジェットの実装方法を例として紹介...

MySQL の異常なエラー ERROR: 2002 を解決する方法

最近、MySQL の起動中にエラーが発生しました。エラー メッセージは次のとおりです。 エラー 20...

MySQL データベース開発仕様 [推奨]

最近、問題のある新しい SQL が本番データベースに入力される数を最小限に抑えるために、開発仕様を整...