Modifier le mot de passe administrateur back to the table of contents

Afin de modifier le mot de passe administrateur du serveur MySQL, il suffit de lancer la commande suivante :

dpkg-reconfigure mysql-server-5.0

Deux écrans de configuration apparaitront permettant de choisir puis de confirmer le mot de passe.

Importer une base de donnée MySQL back to the table of contents

Afin d’importer une base de donnée sur un serveur MySQL, il suffit d’avoir à disposition un compte autorisé à créer des bases de données ainsi qu’un fichier préalable exporté. Il suffit ensuite de lancer la commande :

mysql -u utilisateur -p  base_exportee < base_exportee.sql

Exporter des bases de donnée dans un fichier back to the table of contents

La commande suivante exportera le contenu de l’ensemble des bases de données du serveur vers le fichier serveur.sql, le mot de passe de l’utilisateur (ici root) vous sera demandé :

mysqldump --all-databases -u root -p > serveur.sql

Pour éviter la demande de mot de passe de l’utilisateur (utile lors de l’utilisation dans un script par exemple), il suffit de changer l’option -p en –password=motdepasse_root comme :

mysqldump --all-databases -u root --password=mot_de_passe_root > serveur.sql

Pour n’exporter que le contenu d’une seule base, il est nécessaire de préciser son nom (par exemple ma_base ici) de la sorte :

mysqldump -u root --password=mot_de_passe_root ma_base > ma_base.sql

Lister l’ensemble des bases de données du serveur back to the table of contents

En SQL, pour connaitre l’ensemble des bases de données du serveur, la commande suivante est utilisée :

SHOW DATABASES

La commande mysql fournit la possibilité d’utiliser directement du SQL en utilisant l’option -e (execute) de la sorte :

mysql -u root -p -e "show databases;"

Le résultat affiche quelque chose du genre :

+------------------------+
| DATABASE              |
+------------------------+
| information_schema     |
| base1                  |
| base2                  |
| base3                  |
| base4                  |  
| base5                  |
| base6                  |
+------------------------+

Download

Cela affiche le résultats brut de mysql. Pour l’utilisation simple dans un script on utilisera les options -B (qui enlève le formatage en colonne) et -s (qui enlève l’entête de colone). Ainsi la commande :

mysql -u root --password=mot_de_passe_root -e "show databases;" -B -s

Elle affiche un résultat utilisable par un script sans demander de mot de passe, comme :

information_schema
base1
base2
base3
...

Download Exemple : petit script de sauvegarde de chaque base de donnée dans son propre fichier back to the table of contents

Le script suivant sauvegardera, en suivant ce qui a été dit au dessus, chaque base dans son propre fichier. Copiez / collez son contenu dans le fichier savedbs.sh par exemple en changeant les variables mysqluser et mysql_pass avec ce que vous souhaitez utiliser :

#!/bin/bash
mysql_user=root
mysql_pass=mot_de_passe_root
bases=`mysql -u $mysql_user --password=$mysql_pass -e "show databases;" -B -s 2> /dev/null`
if [ -z "$bases" ];then
        echo "Erreur d'accès ou pas de bases"
        exit 1
fi
echo "Début de la sauvegarde"
for base in $bases
do
        echo "Sauvegarde de $base..."
        mysqldump -u $mysql_user --password=$mysql_pass "$base" > $base.sql
done
echo "Sauvegarde terminée"

Download

Vous pouvez ensuite lancer le script de la sorte pour le tester :

sh save_dbs.sh

Ajouter des utilisateurs MySQL back to the table of contents

Pour créer un utilisateur mysql, il suffit de se loguer à MySQL en tant qu’utilisateur root et de lancer ensuite la commande SQL de création d’utilisateur.

Dans un premier temps, on se connecte au serveur MySQL en root :

mysql -u root -p

Le mot de passe vous sera demandé. Cette étape peut être évitée en remplaçant l’option -p par –password=motdepasse_root

Puis on peut lancer la commande SQL de création d’utilisateur (“nouveluser” avec un mot de passe “nouvelusermotde_passe” auquel on donne tous les droits (uniquement depuis la machine, en localhost) :

GRANT ALL PRIVILEGES ON *.* TO 'nouvel_user'@'localhost' IDENTIFIED BY 'nouvel_user_mot_de_passe' WITH GRANT OPTION;

Pour sortir de la commande Mysql, il suffit de taper exit et de valider.