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

推薦する

HTML/CSS におけるフロートの使用例の詳細

1. floatの基本的な使用例1. まず 2 つの div ボックスを作成し、高さ、幅、背景色を設...

Docker に MySQL と Redis をインストールする方法

この記事はCentOS 7.3システム環境をベースに、MySQLとRedisのインストールと使用につ...

Linuxでテキスト比較を実現するコツを教えます

序文コードを書く過程で、必然的にコードに何らかの変更を加えることになります。しかし、変更を加えるとき...

MySQL 5.7.15 のインストールと設定方法のグラフィック チュートリアル (Windows)

MySQL をインストールする必要があるため、インストール手順を以下のように記録します。 自分なり...

HTMLタグと基本要素の学習のまとめ

1. HTML の要素とタグ<br />要素は、1 つのタグまたは 1 組のタグによって...

よく使われるCSSカプセル化方法の概要

1. pc-reset PCスタイルの初期化 /* 正規化.css */ html{ 行の高さ: 1...

リストループスクロールを実現するための HTML+CSS+JavaScript サンプルコード

説明: 指定された時間内に前のノードのコンテンツを置き換えるタイマーを設定します。 1. キーコード...

Alibaba Cloud centos7にmysql8.0.22をインストールする詳細なチュートリアル

1. MySQLインストールパッケージをダウンロードするまず、https://dev.mysql.c...

React コンポーネント間で通信する 3 つの方法 (シンプルで使いやすい)

目次1. 親子コンポーネント通信2. クロスレベルコンポーネント通信1. レイヤーごとに値を渡す2....

JS ベースのページフローティングボックスを実装するためのサンプルコード

スクロール バーを下に引くと、主にposition:fixed;スタイルにより、フローティング ボッ...

ウェブサイトのAboutページの紹介コンテンツの書き方

公式、電子商取引、ソーシャル ネットワーキング、個人のいずれの Web サイトでも、訪問者に貴重な時...

Vue の this.$router と this.$route の違いと push() メソッド

公式文書には次のように記されている。ルーターを挿入することで、どのコンポーネントでも this.$r...

開発をスピードアップできる VueUse ライブラリ 5 つ (まとめ)

目次VueUse にはどのようなユーティリティがありますか? VueUseをVueプロジェクトにイン...

Linux ディスクデバイスと LVM 管理コマンドの詳細な例

序文Linux オペレーティング システムでは、デバイス ファイルは特別なタイプのファイルです。これ...