6 votes

J'ai accidentellement laissé tomber la base de données mysql

Aujourd'hui, j'étais distrait et au lieu de supprimer les bases de données que je voulais, j'ai écrit

drop database mysql;

Que dois-je faire maintenant?!? Je n'ai rien fait d'autre depuis et je n'ai pas fermé ma session.

Heureusement, il s'agit simplement de mon ordinateur local sans données réelles. Devrais-je supprimer le dossier de données de mysql? Puis-je annuler cela? Y a-t-il une commande que je peux utiliser pour arranger les choses? Est-ce qu'il n'y a pas de réel problème et je m'inquiète pour rien?

-edit- ok donc c'était mon serveur. Heureusement, c'est MON serveur et pas le serveur de l'entreprise. J'ai seulement des sites que personne ne visite de toute façon. Comme c'était le serveur, j'avais des sauvegardes deux fois par jour des sites qui ne changent que rarement. J'ai essayé d'utiliser mon script de sauvegarde pour sauvegarder la base de données mais j'ai obtenu une erreur. Je suppose que c'est bon et qu'elle n'a pas été touchée depuis des jours donc j'ai essayé de la restaurer avec ceci

gunzip < mybackup.sql.gz | mysql

J'ai obtenu l'erreur

ERROR 1146 (42S02) at line 12: Table 'mysql.time_zone_name' doesn't exist

Maintenant que je ne peux pas restaurer, que dois-je faire?

10voto

Pablo Venturino Points 1660

La solution que vous voulez (et cela devrait fonctionner) est d'exécuter mysql_install_db en tant que root. ou dpkg-reconfigure mysql si vous êtes utilisateur de deb/ubu.

Description de la page de manuel:

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.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X