GNU/Linux >> Linux の 問題 >  >> Linux

エラーの原因:無効な (古い?) テーブルまたはデータベース名 'lost+found'

あなたの datadir のように見えます 独自のファイル システムにあります。

Ext ファイル システムは、Unix のほとんどの FS と同様に、ルートに lost+found というディレクトリがあります。 .一貫性のないファイルシステムがfsckされたときに、分離されたファイル(つまり、コンテンツはあるが関連するディレクトリエントリがない)をどこかに再接続できるようにするために存在します(たとえば、https://unix.stackexchange.com/を参照)詳細については、質問/18154/what-is-the-purpose-of-the-lostfound-folder-in-linux-and-unix を参照してください)。この目的は災害復旧において重要であるため、ディレクトリを削除しないでください。

そのディレクトリを含むファイルシステムがマウントされているマウントポイントが、そのマウントポイント内のすべてがそれに属することを期待するアプリケーションに完全に渡されると、問題が発生します。 MySQL はその 1 つであり、lost+found を解釈しようとします。 ディレクトリを db 関連のものとして認識し、(不当ではありませんが) 失敗します。

あなたの最善の策は、FS全体をアプリケーション専用にすることではなく、FSをアプリケーション固有のマウントポイント、たとえば /data1 にマウントすることです 、その下にサブディレクトリを作成します (例:/data1/mysql) 、そのディレクトリを datadir として使用するようにアプリケーションを再構成します。


MadHatter はエラーをよく説明しました。しかしその後時代は変わり、現在 MySQL (5.6.3 以降) にはこのディレクトリを無視するオプションがあります。このステートメントを /etc/mysql/my.cnf に追加するだけです ファイル:

ignore-db-dir=lost+found

MySQL の再起動後、次のコマンドで確認できます:

show global variables like 'ignore_db_dirs';

複数のディレクトリを無視する場合は、それらのディレクトリごとに個別にオプションを指定する必要があります。

ソース:http://www.chriscalender.com/ignoring-the-lostfound-directory-in-your-datadir/


MariaDB を使用している場合、CentOS 7.2 での my.cnf の場所は

にあります
/etc/my.cnf

でサービスを再起動できます
systemctl restart mariadb.service

ignore-db-dir は、[mysqld_safe] セクションの下ではなく、[mysqld] セクションの下に配置する必要があります。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

ignore-db-dir=lost+found

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

Linux
  1. 名前がマイナスにすぎないディレクトリを入力する方法は?

  2. Linux –スラッシュ(/)はLinuxルートディレクトリの名前の一部ですか?

  3. IISのディレクトリ構成が無効です

  1. cp:ディレクトリの省略 – Linux でディレクトリをコピー中にエラーが発生しました

  2. ディレクトリへのシンボリックリンクを削除する

  3. Linux 上の PostgreSQL データベースのデフォルトの場所

  1. Mysql日時DEFAULT CURRENT_TIMESTAMPエラー

  2. Laravel + SQLite =SQLSTATE[HY000]General Error:8 読み取り専用データベースに書き込もうとしています

  3. パーティション テーブルの再読み取りがエラー 22 で失敗しました:無効な引数