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

推薦する

Vue は無限ロードウォーターフォールフローを実装します

この記事では、参考までに、無限ロードウォーターフォールフローを実現するためのVueの具体的なコードを...

Springboot+Vue-Cropperでアバターの切り取りとアップロードの効果を実現

アバターをアップロードするにはVue-Cropperコンポーネントを使用します。参考までに具体的な内...

JDBC を MySQL 5.7 に接続する方法

1. まずMySQLとEclipseの環境を準備します。環境がセットアップされたら、Eclipseの...

MySQL の遅いクエリとクエリ再構築方法の記録

序文スロークエリとは何か、またスロークエリを最適化するにはどうすればよいか。以下では、これら 2 つ...

HTML ウェブページハイパーリンクタグ

HTML ウェブ ページのハイパーリンク タグの学習チュートリアル リンク タグの属性 リンクは、ウ...

Docker デプロイメント Consul 構成プロセスの分析

コマンドを実行docker run -d --name consul -p 8500:8500 co...

CocosCreator 学習モジュールスクリプト

Cocos Creator モジュラースクリプトCocos Creator を使用すると、コードを複...

MySQL エラー番号 1129 の解決方法

SQLyog が MySQL に接続する際にエラー番号 1129 が発生します: mysql エラー...

MySQL でストアド プロシージャを作成し、ループでレコードを追加する方法

この記事では、例を使用して、MySQL でストアド プロシージャを作成し、ループでレコードを追加する...

シェルで文字列内のスペースや指定された文字を削除する方法

インターネット上には、正しい方法であっても、使用しても正しい結果が得られない方法が数多くあります。正...

JSは賞金の重さに基づいて当選確率を計算します

目次1. シナリオ例1.1. 抽選の賞品名を設定する1.2. 各賞の重みを設定する1.3. ラッキー...

Reactの親コンポーネントと子コンポーネント間のデータ転送の詳細な説明

目次1. 親コンポーネントが子コンポーネントにデータを渡す1.1. 親コンポーネントコード1.2. ...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた問題を解決する方法を参考までに共有します。具体的な内容は次...

MySQL マルチテーブル結合クエリの詳細な説明

目次複数テーブル結合クエリ内部結合左結合右結合サブクエリ要約する複数テーブル結合クエリテーブル間の接...

Vue の基本リスナーの詳細な説明

目次Vueのリスナーとは何かリスナーの使い方vue リスナーウォッチVue リスナー - ディープリ...