TOTAL
Depuis Dec 2006
1'942'871 Visiteurs
4'218'042 Pages

Stats Nov 2010
82'909 Visiteurs
146'476 Pages
196 pays
Statistiques completes



Aidez-nous à traduire
nos tutoriaux!

REJOINGNEZ
l'équipe OpenManiak.
OpenManiak.com - Commandes MySQL utiles

Autre MySQL
Dernière modif: Aug 21 2009



⚠️⚠️⚠️
Please check our website about
attractions in Western Switzerland !! (Please use english translation).

⚠️⚠️⚠️
Merci de consulter notre site sur les
activités à faire en Suisse romande !!


MySQL est une puissante base de données open source développée par la société MYSQL AB. Il est un des logiciels les plus utilisés sur le marché des bases de données.
Pour obtenir des informations sur MySQL, jetez un coup d'oeil sur le site internet de Wikipedia.

logo mysql Nous allons essayer ici de vous donner certaines commandes clefs pour utiliser la base de données MySQL ou pour la sauvegarder.
Pour des détails complets sur la manière d'utiliser MySQL, rendez-vous sur le site internet de MySQL.

MySQL peut utiliser plusieurs types de moteurs de table comme ISAM, MyISAM, HEAP, InnoDB ou Berkeley.
Par défaut, une nouvelle table va utiliser MyISAM. Trois types de fichiers situés dans /var/lib/mysql/database_name/ sont alors créés:
table_name.mrd
table_name.myd
table_name.myi
- structure
- données
- index


1. INTERFACE GRAPHIQUE
2. COMMANDES BASIQUES
3. RÉCUPÉRATION DU MOT DE PASSE ROOT
4. SAUVEGARDES MYSQL


INTERFACE GRAPHIQUE

Phpmyadmin est une des interfaces les plus connues pour gérer MySQL. Elle est écrite en PHP et requière le serveur web apache.
Phpmyadmin est très utile si vous n'êtes pas un expert dans le maniement des bases SQL ainsi que leur contenu en ligne de commande. Nous vous recommandons vivement l'installation de cet outil:

#apt-get install phpmyadmin


COMMANDES BASIQUES

Par défaut, il n'y a pas de mot de passe pour l'utilisateur root. Donc, la première chose à faire est d'en configurer un.
Changer le mot de passe d'un utilisateur:

#mysqladmin -u root password new_root_password
Créer une nouvelle base de données:

#mysqladmin -u root -p create database_name
Insérer un fichier SQL:

#mysql -u root -p database_name < file.sql
Accéder à une base de données et y donner tous les droits à un utilisateur:

#mysql -u root -p database_name
>grant all on database_name.* to newuser@localhost identified by 'userpassword';
>flush privileges;
>exit
Lister les tables d'une base de données et afficher le contenu complet d'une table:

#mysql -u root -p
>use database_name;
>show tables;
>select * from table_name;
Lister vos utilisateurs MySQL:

#mysql -u root -p
>use mysql;
>select * from user;
Redémarrer le logiciel MySQL:

#/etc/init.d/mysql restart
Recharger la configuration MySQL:

#/etc/init.d/mysql reload


RÉCUPÉRATION DU MOT DE PASSE ROOT

Arrêter MySQL:

#/etc/init.d/mysql stop
Démarrer le serveur MySQL sans mot de passe:

#mysqld_safe --skip-grant-tables &
Se connecter à MySQL en tant que root:

#mysql -u root
>use mysql;
>update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
>flush privileges;
>quit
Redémarrer le serveur MYSQL:

#/etc/init.d/mysql restart
Tester votre nouveau mot de passe root:

# mysql -u root -p


SAUVEGARDES MYSQL

Sauvegarder toutes vos bases de données:
-u = utilisateur ; -p = mot de passe (il n'y a pas d'espace entre le mot clef "-p" et le mot de passe);

#mysqldump -u root -prootpassword --all-databases > mysql_databases_backup.sql
Sauvegardez une base de données spécifique:

#mysqldump -u root -prootpasssword --databases database_name > mysql_database_backup.sql
Voir les détails à propos de la commande mysqldump.

Restaurer votre sauvegarde MySQL:

#mysql -u root -proot < sql_backup.sql
Il est important de souligner que quand vous sauvegardez une base de données, cela ne sauvegardera AUCUN utilisateur MySQL.
Comme les utilisateurs MySQL sont stockés dans la table "user" de la base de données "mysql", c'est une bonne idée de sauvegarder la base de données "mysql" également.


Ci-dessous, un exemple où les bases de données MySQL sont sauvegardées périodiquement.

Premièrement, nous créons un utilisateur MySQL avec des permissions restreintes pour sauvegarder les bases de données:

#mysql -u root -p
>GRANT SELECT , SHOW DATABASES , LOCK TABLES ON * . * TO backupuser@localhost IDENTIFIED BY 'password' ;
Deuxièmement, nous créons un script shell en copiant la ligne ci-dessous dans le fichier appelé mysqlbackup.sh dans le dossier /home/sam où sam est un utilisateur de votre choix:

#vi /home/sam/mysqlbackup.sh
date=`date -I`; mysqldump --all-databases -u backupuser --password="password" > databasebackup-$date.sql
La date sera ajoutée à la fin du nom du fichier. Par exemple, un fichier sauvé le 4 janvier 2007 sera appelé databasebackup-2007-01-04.sql.

#chown sam /home/sam/mysqlbackup.sh
#chmod 700 /home/sam/mysqlbackup.sh
Mettez les droits appropriés pour le fichier mysqlbackup. La propriété du fichier est donnée à sam avec tous les droits. (lecture, écriture, exécution)

Troisièmement, nous ajoutons la ligne suivante dans la crontab de notre utilisateur Linux:

#crontab -e -u sam
30 00 * * * /home/sam/mysqlbackup.sh
Le script shell mysqlbackup sera lancé chaque jour à 00:30 et ainsi sauvegardera les bases de données MySQL.