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コンテナでユーザーを分離する方法

推薦する

Web 上の要素を非表示にする方法とその利点と欠点

ソースコードの例: https://codepen.io/shadeed/pen/03caf6b36...

Centos7にTenda U12ワイヤレスネットワークカードドライバーをインストールする際の問題を解決する

解決プロセス:方法1: CentOS7.3 のデフォルトのカーネル バージョンは低く、3.10.0-...

Linuxにおけるselinuxの基本設定チュートリアルの詳細な説明

selinux ( Security-Enhanced Linux)は、Linux カーネル モジュ...

jsはシンプルな英語-中国語辞書を実装します

この記事では、参考までに、簡単な英中辞典を実装するためのjsの具体的なコードを紹介します。具体的な内...

メタを使用してトラフィックキャッシュをキャンセルし、ページにアクセスするたびにページを更新して簡単にデバッグできるようにします。

コードをコピーコードは次のとおりです。 <!-- ブラウザがローカル キャッシュからページにア...

タオバオモールのホームページ上の大きな画像のデザイン構造に関する分析と意見(写真)

前回、Taobaoの詳細ページを分析した後(クリックして表示)、ショッピングモールの基本テンプレート...

HTMLテキスト内のすべてのタグを置き換える方法

(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...

データベース内のSQL整合性制約ステートメントの分析

整合性制約整合性制約はテーブル データの正確性を保つためのものです。データが正しくない場合は、そもそ...

ウェブサイトのハイパーリンクを開く方法に関する議論

新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...

MySQL での正規表現の使用に関する詳細

目次1. はじめに2. 製品テーブルを準備する2.1 ステートメントの順序2.2 大文字と小文字の区...

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

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

Windows サーバー ポートを開きます (例としてポート 8080 を使用します)

ポートとは何ですか?私たちが通常参照するポートは、物理的な意味でのポートではなく、具体的には TCP...

Nginx キャッシュ設定例

Web アプリケーションの開発とデバッグを行う際には、テストのためにブラウザのキャッシュをクリアした...

ウェブページからテキスト透かしを削除する2つの簡単な方法

<br /> 特定の Web サイトを閲覧して、優れた Web ページを見つけた場合、そ...

JavaScript での && および || 演算子の使用例

目次序文&& 演算子|| 演算子|| 演算子の簡単なデモ章の目的ケース演習(json...