¿Cómo reiniciar archivos / var / lib / mysql?

15

Debido a un error, eliminé todo el directorio / var / lib / mysql. Dado que la base de datos no contenía nada importante, no quiero pasar por la molestia de restaurarla desde una copia de seguridad anterior, sino crear la estructura de directorio desde cero. ¿Cómo lo hago sin reinstalar MySQL?

Konrad Gajewski
fuente

Respuestas:

18

Deberías poder correr mysql_install_dbdesde la línea de comando

mysql_install_db inicializa el directorio de datos MySQL y crea las tablas del sistema que contiene, si no existen. También inicializa el espacio de tabla del sistema y las estructuras de datos relacionadas necesarias para administrar las tablas de InnoDB. A partir de MySQL 5.6.8, mysql_install_db es un script de Perl y se puede usar en cualquier sistema con Perl instalado. Antes de 5.6.8, es un script de shell y está disponible solo en plataformas Unix.

Lea la documentación de MySQL completa paramysql_install_db , luego ...

DARLE UNA OPORTUNIDAD !!!

Si no funciona en el primer intento, haz esto

mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql 

luego corre de mysql_install_dbnuevo

RolandoMySQLDBA
fuente
Funcionó en el primer intento. Gracias. La contraseña es otro problema.
Konrad Gajewski
Vea mi publicación dba.stackexchange.com/questions/44645/…
RolandoMySQLDBA
También puede necesitar restorecon -r /var/lib/mysqlsi SELinux está habilitado
Mahmoud Mostafa
9

Para MySQL 5.7> solo:

# Move or remove the original dir
mv /var/lib/mysql /tmp/mysql

# Create a new dir
mkdir /var/lib/mysql

# Change owner to mysql (user and group)
chown -R mysql:mysql /var/lib/mysql

# Create MySQL initial data
mysqld --initialize
Cristian Deluxe
fuente
1
la única respuesta que me funcionó
Bahaa Odeh
mysql Ver 14.14 Distrib 5.7.22, para Linux (x86_64) usando el envoltorio EditLine
Bahaa Odeh