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

推薦する

Linux の crw、brw、lrw などのファイル属性は何ですか?

ファイルとは何ですか?すべてのファイルは実際には文字列のストリームですが、適切な解析方法を使用すると...

Vue で Excel インポート機能を実装する詳細な手順

1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...

Vueモバイル端末は左スライド編集と削除の全プロセスを実現します

序文プロジェクトのニーズに応じて、Vue-touch を使用して、vue モバイル端末の左スワイプ編...

Windows Server 2012 リモート デスクトップ ライセンス サーバーがライセンスを提供できず、リモート セッションが切断される

本日、会社の内部サーバーにログインしたところ、リモートアクセスができませんでした。エラー メッセージ...

Vueコンポーネントの基本のまとめ

コンポーネントの基本1 コンポーネントの再利用コンポーネントは再利用可能な Vue インスタンスです...

Vue での weixin-js-sdk の一般的な使用方法の詳細な説明

リンク: https://qydev.weixin.qq.com/wiki/index.php?ti...

Vueライフサイクルカメラの8つのフック関数

目次1. beforeCreateとcreated関数2. beforeMountとmount関数3...

Windows 10 64 ビット版に MySQL 5.6.35 をインストールするためのグラフィック チュートリアル

1. MySQL Community Server 5.6.35をダウンロードするダウンロードアドレ...

HTML_PowerNode Java アカデミーでテーブルを動的に追加する

さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <html> <...

MySQL でテーブルスペースの断片化を解消する詳細な例

MySQL でテーブルスペースの断片化を解消する詳細な例断片化の原因(1)テーブルのストレージは断片...

Telnet は Alpine イメージの busybox-extras に移動されました

Alpine イメージの telnet はバージョン 3.7 以降、busybox-extras パ...

TomcatとJDKのバージョンの対応と各Tomcatバージョンの機能

Apache Tomcat は、Java Servlet および Java Server Pages...

MySQL 5.7 でパスワードを変更するときに発生する ERROR 1054 (42S22) の解決方法

MySQL 5.7 を新しくインストールしました。ログインすると、パスワードが間違っているというメッ...

Tomcatの全体構造の簡単な紹介

Tomcat は Web コンテナとして広く知られています。Java を学び始めたときから現在の仕事...

Vue の foreach 配列と js の traversal 配列の書き方の説明

Vue foreach配列を記述し、jsで配列をトラバースする方法シナリオVueでAxiosを使用し...