MySQL 起動失敗の問題とシナリオ分析

MySQL 起動失敗の問題とシナリオ分析

1. ワンストップソリューション

1. 問題の分析と特定

# MySQL設定ファイルを見つけて、MySQLデータディレクトリをコピーします vim /etc/my.cnf

# msyqlデータディレクトリに入る cd /data/mysql

# ログファイルを表示する vim mysql.err

[エラー] auto.cnf ファイルに保存されている server_uuid は有効な UUID ではありません。
[エラー] auto.cnf ファイルから読み取れなかったため、サーバーの UUID の初期化に失敗しました。これが新しいサーバーの場合、新しい UUID を生成できなかったため初期化に失敗しました。
[エラー] 中止しています

上記のログから、私のuuidが検証を満たしていないことがわかります。同じ仮想マシンからコピーしたので、uuidは次のようになります。uuidの値を変更するだけです

解決

検索 / -iname "auto.cnf"

vim /data/mysql/auto.cnf

# オリジナルコンテンツ [自動]
サーバーUUID=64cbb3d1-e150-11eb-81a2-000c2972fe1f

# 調整後、内容をカスタマイズして最後の桁fをaに置き換えることができます。
[自動]
サーバーUUID=64cbb3d1-e150-11eb-81a2-000c2972fe1a


# MySQLを再起動します
# centos7.x
systemctl でmysqlを再起動する

# centos6.x
サービスmyqldを再起動

2. 特別なシナリオ

2.1. 問題の分析と特定

通常、この概要状況は、mysql ルート ディレクトリの下の mysql.pid が故障により消失した場合に発生します。

cd /data/mysql
ll

2.2. 解決策

mysql.pid を復元するだけです。復元できない場合は、mysql.pid という名前の新しいファイルを作成し、実行中の mysql の pid を追加します。この pid は mysql.sock.lock ファイルにあります。まず、mysql.sock.lock の場所を見つけます。

# my.cnf を見つける
検索 / -iname "my.cnf"

# ファイルの内容を表示する cat /etc/my.cnf

# my.cnfファイルのこの行を見つけます socket=/tmp/mysql.sock

# /tmp/ に移動
/tmp/ をコピー

# ファイルの内容を表示する cat mysql.sock.lock 

ここに画像の説明を挿入

# mysql.sock.lockファイルの9136番はmysqlの操作のpidです
# mysqlのルートディレクトリにmysql.pidを作成します
vim mysql.pid

# 先ほどmysql.sock.lockファイルに9136を追加 # mysqlを再起動します
systemctl でmysqlを再起動する

# mysql ステータスを表示する systemctl status mysql

解決策2

これは特殊なケースです。mysql.sock.lock または mysql.pid ファイルがない場合はどうすればよいですか?

# my.cnf を見つける
検索 / -iname "my.cnf"

# ファイルの内容を表示する cat /etc/my.cnf

# my.cnfファイルのこの行を見つけます socket=/tmp/mysql.sock

# /tmp/ に移動
/tmp/ をコピー

# ファイルの内容を表示する vim mysql.sock.lock

# 現在のシステムで使用されていない pid を追加します。確認方法がわからない場合は、4 桁の数字をランダムに追加してください。たとえば、9137

# mysqlのルートディレクトリにmysql.pidを作成します
vim mysql.pid

# mysql.sock.lock ファイルの 0137 を mysql.pid ファイルに追加します。一貫性を保つようにしてください。# mysql を再起動します
systemctl でmysqlを再起動する

# mysql ステータスを表示する systemctl status mysql

これで、mysql 起動失敗の問題と解決策に関するこの記事は終わりです。mysql 起動失敗に関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WindowsシステムでPhPStudy MySQLの起動に失敗する問題を解決する
  • MySQL 5.7.18 のインストール中に MySQL サービスの起動に失敗する問題の解決策
  • MySQLの一般的なメモリ不足による起動失敗に対する完璧な解決策
  • Docker での MySQL の初期化と起動の失敗の解決策
  • MySQL データベース InnoDB の起動失敗と再起動不能の解決策
  • CentOS 7 での MySQL サービスの起動失敗に対する簡単な解決策
  • 進捗バーの状態によりMysql/MariaDBの起動が失敗する理由と解決策
  • ディスクがいっぱいでMySQLの起動に失敗する問題を共有する

<<:  divは、自動入力スタイルをブロックする入力ボックスとして入力を使用せずにコンテンツを入力できます。

>>:  Linux での UDP について学ぶ

推薦する

Vue ページでよりエレガントに画像を紹介する方法

目次エラーのデモンストレーション計算により画像が変わらない場合は直接インポートするCSS変数による画...

HTML における if 判断の使用

Django Web開発の過程で、HTMLを書く際にバックエンドから同じ名前のリスト変数が渡されるが...

JS の FileReader を介して .txt ファイルの内容を取得する方法

目次JSはFileReaderを通じて.txtファイルの内容を取得します。 .txtファイルの読み取...

js におけるイベントバブリングとイベントキャプチャの簡単な分析

目次01-イベントバブリング1.1- イベントバブリングの概要1.2-イベントバブリングの利用(イベ...

MySQL-8.0.26 構成グラフィックチュートリアル

はじめに: 最近、会社のプロジェクトでデータベースのバージョンが変更されました。ここでは、MySQL...

JavaScriptはクリックトグル機能を実装します

この記事の例では、クリックして切り替える機能を実装するためのJavaScriptの具体的なコードを参...

MySQL における冗長インデックスと重複インデックスの違い

MySQL では、1 つの列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、M...

Linux での rpm、yum、ソースコードの 3 つのインストール方法の詳細な紹介

第1章 ソースコードのインストールRPM パッケージは特定のシステムとプラットフォームに応じて指定さ...

Vue3 での provide と injection の使用

1. provideとinjectの説明Provide と Inject により、ネストされたコンポ...

実務経験7年のフロントエンドスーパーバイザーによる経験共有

今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...

要素 ui の el-table の列にさまざまなスタイルのデータを動的に実装する例

問題の説明Ele.me UI のフレームワークでは、入力データは el-form であり、出力データ...

MySQL バックアップ スクリプトの書き方

序文:データベースのバックアップの重要性は、特にデータの損失が深刻な結果を招く可能性がある実稼働環境...

ネイティブ js でカスタム スクロール バーを実装する

この記事の例では、カスタムスクロールバーを実装するためのjsの具体的なコードを参考までに共有していま...

DockerでLinuxシェルコマンドを実行する方法

Docker でシェル コマンドを実行するには、コマンドの前に sh -c を追加する必要があります...