MySQLスタートアップが起こした事故の実録

MySQLスタートアップが起こした事故の実録

MySQL はポートをリッスンした状態で起動しますが、サービスは完全には起動していません。

背景

MySQL が起動すると、最初にデータベースが初期化されます。MySQL が完全に起動した後、2 回目のデータベースの初期化が行われます。

データベースを初めて初期化するときは、--skip-networking (このオプションは MySQL の TCP/IP 接続方法を無効にします) を使用して、初期化のために MySQL を起動します。

初期化が完了したら、--skip-networking オプションをオフにして MySQL を再起動します。

2 回目にデータベースを初期化するときに、ルート パスワードを設定します。

MySQLが完全に起動したかどうかを確認する方法

MySQL に積極的に接続してみてください。接続が成功すると、サービスが完全に開始されたことを示します。

mysql -hlocalhost -P3306 -uroot

事故

上記の判定方法はソケットを使用してデータベースに接続しますが、初回のみMySQLのTCP/IP接続方法を禁止しているため、

したがって、最初のデータベースの初期化が完了する前に、2 番目のデータベースの初期化が実行された可能性があります。

2 回目のデータベース初期化では、最初のデータベース初期化よりも早くルート パスワードが設定されるため、データベースに接続できず、最初の初期化が失敗します。

最後に、TCP/IP 接続方法が有効になっていなかったため、アプリケーションはデータベースに接続できませんでした。

最初の変更

データベースに接続するには -h127.0.0.1 を使用します

MySQL -h127.0.01 -P3306 -uroot

ただし、root ユーザーのホストが localhost に設定されているため、127.0.0.1 は接続が許可されず、最初の変更は失敗します。

2回目の改訂

wait-for-it.sh 127.0.0.1:3306 --timeout=300

mysql -hlocalhost -P3306 -uroot

wait-for-it.sh は、127.0.0.1:3306 がリスニング状態にあるかどうかを検出するために使用されます。リスニング状態にある場合、最初のデータベースの初期化が完了したことを意味します。

次に、localhost を使用してデータベースへの接続を試みます。

オリジナルリンク: k8scat.com/posts/wait-…

要約する

MySQL 起動による事故に関する記事はこれで終了です。MySQL 起動による事故についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • mysqlサービスが起動しない場合の解決策
  • MySQL を起動できない場合のよくある問題の概要
  • MySQL5 インストール後に起動できない(サービスを開始できない)問題の解決方法まとめ
  • CentOS 7 での MySQL サービスの起動失敗に対する簡単な解決策
  • MySQL 起動エラー 1053 の解決方法
  • Windows が MySQL サービスを開始できず、エラー 1067 を報告する場合の解決策
  • エラー 1067 で MySQL が起動しない問題を解決する方法
  • mysql の認証、起動、およびサービスの起動のための一般的なコマンド

<<:  Sitemesh チュートリアル - ページ装飾技術の原理と応用

>>:  HTMLはマーキーを使用してテキストを左右にスクロールします

推薦する

HTML で 2 つの div タグの間に垂直線を描く方法

最近、インターフェースを描画しているときに、インターフェースに垂直線を描画し、この垂直線の高さが親 ...

Mysql系SQLクエリ文の書き順と実行順を詳しく解説

目次1. 完全なSQLクエリステートメントの記述順序2. 完全なSQL文の実行順序3. select...

MySQL 更新セットとの違い

目次問題の説明原因分析解決問題の説明最近、奇妙な問い合わせを受けました。更新ステートメントはエラーな...

Zabbix 監視 Docker アプリケーション構成

コンテナの応用はますます一般的になっていますが、大量のコンテナをどのように管理すればよいのでしょうか...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

JavaScript 関数呼び出しの典型的なサンプルコード

目次JavaScript 関数呼び出しの典型的な例JS関数の定義と呼び出し方法要約するJavaScr...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...

Linux で PyCurl のエラーを解決する方法

「curl-config を実行できませんでした」の解決策 pycurl のダウンロード/解凍 (p...

初めてDockerイメージを構築、実行、公開、取得するための詳細な手順

1. はじめに以前は、Python アプリケーションの作成を開始したい場合、最初のステップはマシンに...

MySQLスローログに関する知識のまとめ

目次1. スローログの紹介2. スローログの練習1. スローログの紹介スロー ログの正式名称はスロー...

MySQL が my.cnf を読み込む順序の詳細

目次MySQLがmy.cnfを読み込む順序1. mysql.server の起動方法2. mysql...

Vue3 手動カプセル化ポップアップ ボックス コンポーネント メッセージ メソッド

この記事では、ポップアップボックスコンポーネントメッセージのVue3手動カプセル化の具体的なコードを...

DockerコンテナはホストのMySQL操作にアクセスする

背景:インターフェイスを提供する Flask プロジェクトがあり、これは Docker コンテナを使...

5つのクールで実用的なHTMLタグと属性の紹介

実はこれもクリックベイトのタイトルであり、「派手」とは言えません。ただ私が無知で、こうしたラベルを見...

ByteDance インタビュー: JS を使用して Ajax 同時リクエスト制御を実装する方法

序文正直に言うと、最近とても混乱していると感じています。テクノロジーと人生について。また、将来の発展...