Skip to main content

Restaurer un dump SQL en ligne de commande

Cas d'utilisation

Lorsqu'une base de donnée est trop importante en terme de taille pour être restauré via PHPmyadmin
(exemple: visitluxembourg, lcto, toutes bases de données supérieures à 100Mo)

Pré-requis

  • Connexion SSH au serveur de base de données
  • Un dump SQL préparé

Attention à l'instruction de type USE database, et à la suppression des DEFINER, ... qui peuvent poser problème lors de la restauration

  • Les services apache et php-fpm doivent être stoppé avant la restauration, cela entrainera une période d'indisponibilité du site web le temps de l'opération
# Arrêt des services apache et php-fpm
service apache2 stop
service php5-fpm stop

Déroulement

  • Connexion au CLI MySQL sur le serveur de base de données
mysql -u root -p
Enter password: 
  • Affichage des bases de données présentes sur le serveur
SHOW DATABASES;
  • Suppression/création de la base de données à restaurer
DROP DATABASE lft_app;
CREATE DATABASE lft_app;
  • Une fois la base de donnée recréée, on peut sortir du CLI MySQL
exit;
  • Il ne nous reste qu'à restaurer le dump SQL dans cette nouvelle base
mysql -u root -p < mon_dump.sql

Post-restauration

Une fois que tout est en place, nous pouvons redémarrer les services arrêtés lors des étapes précédentes

# Démarrage des services apache et php-fpm
service apache2 start
service php5-fpm start