Comment réinitialiser les fichiers / var / lib / mysql?


15

En raison d'un incident, j'ai supprimé l'intégralité du répertoire / var / lib / mysql. Étant donné que la base de données ne contient rien d'important, je ne veux pas passer par les tracas de la restaurer à partir d'une ancienne sauvegarde, mais plutôt créer la structure de répertoire à partir de zéro. Comment faire sans réinstaller MySQL?

Réponses:


18

Vous devriez pouvoir simplement exécuter à mysql_install_dbpartir de la ligne de commande

mysql_install_db initialise le répertoire de données MySQL et crée les tables système qu'il contient, si elles n'existent pas. Il initialise également l'espace disque logique du système et les structures de données associées nécessaires pour gérer les tables InnoDB. Depuis MySQL 5.6.8, mysql_install_db est un script Perl et peut être utilisé sur n'importe quel système avec Perl installé. Avant 5.6.8, il s'agit d'un script shell et n'est disponible que sur les plates-formes Unix.

Veuillez lire la documentation MySQL en entier pourmysql_install_db , puis ...

ESSAIE !!!

Si cela ne fonctionne pas du premier coup, procédez comme suit

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

puis exécutez à mysql_install_dbnouveau


Cela a fonctionné du premier coup. THX. Le mot de passe est un autre problème.
Konrad Gajewski


vous devrez peut-être également le faire restorecon -r /var/lib/mysqlsi SELinux est activé
Mahmoud Mostafa

9

Pour MySQL 5.7> juste:

# 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

1
la seule réponse qui a fonctionné pour moi
Bahaa Odeh

mysql Ver 14.14 Distrib 5.7.22, pour Linux (x86_64) utilisant le wrapper EditLine
Bahaa Odeh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.