Me parece a tu datadir
está en un sistema de archivos propio.
Los sistemas de archivos ext, como la mayoría de los FS en Unix, tienen en su raíz un directorio llamado lost+found
. Existe para permitir que los archivos que se separan (es decir, tienen contenido, pero no tienen una entrada de directorio asociada) se vuelvan a unir en algún lugar cuando se fsckee un sistema de archivos inconsistente (consulte, por ejemplo, https://unix.stackexchange.com/ question/18154/cuál-es-el-propósito-de-la-carpeta-perdida-en-linux-y-unix para obtener más detalles). Este propósito es importante en la recuperación ante desastres, por lo que no debe eliminar el directorio.
Su problema surge cuando el punto de montaje, en el que se monta el sistema de archivos que contiene ese directorio, se entrega por completo a una aplicación que espera que todo en ese punto de montaje le pertenezca. MySQL es uno de ellos, intenta interpretar el lost+found
directorio como algo relacionado con db, y (no sin razón) falla.
Su mejor apuesta es nunca dedicar un FS completo a una aplicación, sino montar el FS en algún punto de montaje no específico de la aplicación, por ejemplo, /data1
, cree un subdirectorio debajo de eso, por ejemplo, /data1/mysql
y vuelva a configurar la aplicación para usar ese directorio como su directorio de datos.
MadHatter explicó bien el error. Pero desde entonces los tiempos han cambiado y ahora MySQL (desde 5.6.3) tiene una opción para ignorar este directorio. Simplemente agregue esta declaración en su /etc/mysql/my.cnf
archivo:
ignore-db-dir=lost+found
Después de reiniciar MySQL, puede verificarlo con el comando:
show global variables like 'ignore_db_dirs';
Si desea ignorar varios directorios, debe especificar la opción para cada uno de ellos por separado.
Fuente:http://www.chriscalender.com/ignoring-the-lostfound-directory-in-your-datadir/
La ubicación de my.cnf en CentOS 7.2 si está utilizando MariaDB está en
/etc/my.cnf
Puede reiniciar el servicio con
systemctl restart mariadb.service
ignore-db-dir debe colocarse en la sección [mysqld] y no en la sección [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