Sepertinya saya seperti datadir
Anda berada dalam sistem file sendiri.
Sistem file ext, seperti kebanyakan FS di bawah Unix, memiliki akar direktori bernama lost+found
. Itu ada untuk memungkinkan file yang terlepas (yaitu, mereka memiliki konten, tetapi tidak ada entri direktori terkait) untuk disambungkan kembali di suatu tempat ketika sistem file yang tidak konsisten di-fscked (lihat, misalnya, https://unix.stackexchange.com/ pertanyaan/18154/what-is-the-purpose-of-the-lostfound-folder-in-linux-and-unix untuk detail lebih lanjut). Tujuan ini penting dalam pemulihan bencana, jadi sebaiknya Anda tidak menghapus direktori.
Masalah Anda muncul ketika titik pemasangan, di mana sistem file yang berisi direktori itu dipasang, diberikan sepenuhnya ke aplikasi yang mengharapkan semua yang ada di titik pemasangan itu menjadi miliknya. MySQL menjadi salah satunya, ia mencoba menginterpretasikan lost+found
direktori sebagai sesuatu yang berhubungan dengan db, dan (tidak masuk akal) gagal.
Taruhan terbaik Anda adalah jangan pernah mendedikasikan seluruh FS untuk sebuah aplikasi, melainkan memasang FS pada beberapa titik pemasangan non-spesifik aplikasi, misalnya /data1
, buat subdirektori di bawahnya, misalnya /data1/mysql
, dan konfigurasikan ulang aplikasi untuk menggunakan direktori tersebut sebagai datadirnya.
MadHatter menjelaskan kesalahannya dengan baik. Namun sejak itu waktu telah berubah dan sekarang MySQL (sejak 5.6.3) memiliki opsi untuk mengabaikan direktori ini. Cukup tambahkan pernyataan ini ke dalam /etc/mysql/my.cnf
Anda berkas:
ignore-db-dir=lost+found
Setelah MySQL restart Anda dapat memeriksanya dengan perintah:
show global variables like 'ignore_db_dirs';
Jika Anda ingin mengabaikan banyak direktori, Anda perlu menentukan opsi untuk masing-masing direktori secara terpisah.
Sumber:http://www.chriscalender.com/ignoring-the-lostfound-directory-in-your-datadir/
Lokasi my.cnf di bawah CentOS 7.2 jika Anda menggunakan MariaDB ada di
/etc/my.cnf
Anda dapat memulai ulang layanan dengan
systemctl restart mariadb.service
abaikan-db-dir harus diletakkan di bawah bagian [mysqld] dan bukan di bawah [mysqld_safe].
[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