Petit mémo / pense-bête à l'usage de ceux qui ont envie/besoin d'administrer et d'effectuer quelques opérations courantes sur leur serveur mysql. Ceci est une "compilation" d'expériences personnelles et de liens/astuces trouvés sur le web. Avec tout ça vous allez pouvoir backuper / restaurer comme un chef en ligne de commande.

 

En utilisant le service mysql en ligne de commande

 

Connexion au serveur applicatif mysql

mysql -h localhost -u root -p
  • localhost : nom de votre serveur mysql
  • u : user souhaité, ici root
  • p : signifie qu'il vas falloir entrer le pass du user :)

 

Afficher la liste des bases de données

mysql> show databases;

 

Sélectionner une base

mysql> use databasename;

 

Lister les tables d'une base sélectionnée

mysql> show tables;

 

Afficher les types des champs

mysql> describe tablename;

 

Afficher la taille des bases données

mysql> SELECT table_schema "Databases", sum( data_length + index_length) / 1024 / 1024 "Size of DB in MB" FROM information_schema.TABLES GROUP BY table_schema;

 

Afficher la taille d'une base de donnée en particulier

mysql> SELECT table_schema "Database", sum( data_length + index_length) / 1024 / 1024 "Size of DB in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" GROUP BY table_schema;
  •  $DB_NAME : Remplacer par le nom de votre base

 

Afficher la taille des tables d'une base de donnée en particulier

mysql> SELECT table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME";
  •  $DB_NAME : Remplacer par le nom de votre base

 

Afficher la taille d'une table d'une base de donnée en particulier

mysql> SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" AND table_name = "$TABLE_NAME";
  • $DB_NAME : Remplacer par le nom de votre base
  • $TABLE_NAME : Remplacer par le nom de votre table

 

Créer une base de donnée

mysql> create database databasename;

 

Supprimer une base de données

mysql> drop database databasename;

 

Supprimer une table d'une base de données

mysql> drop table tablename;

 

En utilisant les fonctions mysql en ligne de commande

 

Sauvegarder une seule base de donnée, données et structure

mysqldump -u username -p --databases databasename > databasename.sql

 

Sauvegarder toutes les bases, données et structure, dans un seul fichier .sql

mysqldump -uroot -p --all-databases > alldatabases.sql

 

Restaurer une base à partir d'un fichier .sql contenant une sauvegarde de la base

mysql -u username -p databasename < databasename.sql 

 

Restaurer une base à partir d'un fichier. sql contenant une sauvegarde de toutes les bases

mysql -u username -p --one-database mybase < alldatabases.sql

 

Recherche & Partage