Ubuntu でディスク容量不足により MySQL が起動しない場合の解決策

Ubuntu でディスク容量不足により MySQL が起動しない場合の解決策

序文

最近、データベースのテーブルに 2 つのフィールドを追加しました。その後、ディスク容量不足のようなメッセージが表示されました。その後、データベースが切断され、その後は接続できなくなりました。後で考えた後、ようやく問題を解決しました。この経験は本当に恐ろしいものでした。この記事では、ディスク容量不足のために MySQL が起動できない問題の解決策を記録します。

方法は次のとおりです

オペレーティング システム: Ubuntu。ディスク容量が不足すると、MySQL が起動に失敗し、次の問題が発生する可能性があります。

root@iZ28z558vv0Z:/etc/mysql# mysql -u ルート -p
パスワードを入力してください: 
エラー 2002 (HY000): ソケット '/var/run/mysqld/mysqld.sock' 経由でローカル MySQL サーバーに接続できません (2)
root@iZ28z558vv0Z:/b# サービスmysql開始
開始: ジョブの開始に失敗しました
root@iZ28z558vv0Z:/var/lib# サービス mysqld を開始
mysqld: 認識されないサービス

解決策: mysql 構成ファイル my.cnf を見つけます。

ルート@iZ28z558vv0Z:/etc/mysql# ls
conf.d debian.cnf debian-start my.cnf
root@iZ28z558vv0Z:/etc/mysql# vi my.cnf

ファイル内のdatadir項目には/var/lib/mysqlと表示されます。

[mysqld]
#
# * 基本設定
#
ユーザー = mysql
pid ファイル = /var/run/mysqld/mysqld.pid
ソケット = /var/run/mysqld/mysqld.sock
ポート = 3306
ベースディレクトリ = /usr
データディレクトリ = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
外部ロックをスキップ

ディスク容量が不足しているため、MySQL がデータを保存する場所、datadir または tmpdir のディスク容量の使用状況、および datadir のディスク容量の使用状況を確認する必要があります。

ルート@iZ28z558vv0Z:/var# df /var
ファイルシステム 1Kブロック 使用済み 使用可能 使用率 マウント済み
/dev/xvda1 41151808 39038392 0 100% /

上記から、ディスク領域の可用性が明らかに 0 であり、これが mysql を起動できない理由であることがわかります。この問題は、/var ディレクトリ内の他のファイルを削除してディスク領域を解放し、mysql サービスを再起動することで解決できます。

要約する

上記がこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションを取ることができます。

以下もご興味があるかもしれません:
  • MySQLはテーブルデータを復元するためにfrmファイルとibdファイルを使用します
  • MySQL 全体または単一のテーブルデータのエクスポート
  • MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。
  • MySQLでデータを削除してもディスク領域が解放されないのはなぜですか
  • MySQL ストレージ エンジン MyISAM の一般的な問題 (テーブル破損、アクセス不能、ディスク容量不足)
  • lnmp でディスク領域を保護するために MySQL ログをオフにする方法
  • ディスク容量を節約するためにMySQLを縮小するためのいくつかの提案
  • Mysql InnoDB のデータを削除した後にディスク領域を解放する方法
  • MySQL でテーブル データを削除した後もディスク領域がまだ占有されているのはなぜですか?

<<:  JSはクリックドロップ効果を実装します

>>:  Dockerコンテナでユーザーを分離する方法

推薦する

英語のシングルクォーテーション「''」を含むSQLの記述の失敗について徹底解説

問題が発生しました。情報の編集をテストする際、編集した内容に一重引用符 (') が含まれてい...

MySQL フラッシュリストとダーティページフラッシュメカニズム

1. レビューMySQL の起動後にバッファ プールが初期化されます。バッファ プールは N 個の空...

Centos8でdockerがインストールできない問題の解決方法

問題 [root@zh ~]# [root@zh ~]# [root@zh ~]# yum -y d...

Vueはスライダードラッグ検証機能の全プロセスを実現します

レンダリング 骨組みを定義し、HTMLとCSSを記述するHTML部分 <テンプレート> ...

Dockerfile の一般的なコマンドの概要

構文の構成: 1 注釈情報2 コマンド --- パラメータ [通常は大文字 | 実際には大文字と小文...

JavaScript でローカル変数をグローバル変数に変換する方法

まず関数の自己呼び出しを知る必要がある関数の自己呼び出し - 自己呼び出し関数1 回限りの関数 - ...

JavaScript は div マウス ドラッグ効果を実装します

この記事では、divマウスドラッグ効果を実現するためのJavaScriptの具体的なコードを参考まで...

Reactにおけるフックの一般的な使用法

目次1. フックとは何ですか? 2. フックはなぜ現れるのでしょうか? 3. よく使われるフックは何...

Linux クラウド サーバーに新しいディスクをマウントする方法

背景社内に新しいサーバーが追加され、2Tのハードディスクがマウントされました。sshでログイン後、マ...

時刻を保存するために適切な MySQL の datetime 型を選択する方法

データベースを構築してプログラムを書くとき、日付と時刻の使用は避けられません。データベースには、ti...

パーソナライズされた検索エンジンを使用して、必要なパーソナライズされた情報を検索します

現在、多くの人がインターネット上で生活しており、インターネットで情報を検索することは日常的な作業とな...

MySQL 8.0 における MySQL のインストールと新しいパスワード認証方法の詳細な説明

1. はじめにOracle が MySQL 8.0GA をリリースしました。海外での GA はリリー...

JavaScript を学ぶときに知っておくべき 3 つのヒント

目次1. 魔法の拡張演算子1. 配列をコピーする2. 配列を結合する3. オブジェクトを展開する2....

MySQLインデックスに関する詳細を共有する

数日前、同僚からMySQLのインデックスについて質問を受けました。大体わかっているのですが、まだ練習...

複数の HTML ページで HTML コードをまとめて呼び出す方法

方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...