« Log4j: Logging pour Java | Page d'accueil | Data Access Object: un peu de souplesse dans un monde de brutes »

10/08/2008

MYSQL via une ligne de commande DOS

Les bases de données MySql sont accessibles pas divers moyens. Il existe une très bonne interface d'administration développée en PHP: 'PHPMyAdmin'. Mais parfois, les limitations imposées par de tels outils, peuvent pousser à retourner vers une administration plus archaïque. C'est le cas, par exemple, lorsque l'on souhaite charger de gros fichiers de 'dump' sql de manière fiable.

En fait, la manière la plus fiable de travailler sur une base de données MySql, est d'utiliser la console MySql. Apres avoir lancé le service du serveur MySql 'mysqld-nt.exe', celle-ci est accessible en lançant l'exécutable 'mysql.exe'. Ces deux exécutables se trouvent dans le répertoire 'bin' de l'installation de MySql.

La suite présente les principales commandes à employer pour travailler avec MYSQL via une ligne de commande DOS.

  • Connection

Si le serveur est déjà démarré ( .../mysql/bin/mysqld-nt.exe )

- En local:
Dans le répertoire .../mysql/bin  lance mysql.exe  via: 'mysql –u nom_utilisateur  –p mot_de_passe'  ( -p password si besoin )  
Tu obtiens: 'Mysql > '

- Sur un autre serveur:
Dans le répertoire …mysqlbin  lance mysql.exe  via: 'mysql –h 158.67.144.67 –u root  –p password'  ( -p password si besoin )

  • Opérations d'administration

Pour modifier le mot de passe d'un compte:
set password for root@localhost=password('mot_de_passe');

Pour effacer les comptes anonymes (pour raisons de sécurité):
Mysql > use mysql;
Mysql > delete from user where User='';
Mysql > delete from db where User='';

Créer un compte pour effectuer des opérations courantes:
Mysql > grant create, create temporary tables, delete, execute, index, insert,
Mysql > lock tables, select, show databases, update
Mysql > on *.*
Mysql > to username@server identified by 'password';

Pour créer un compte utilisateur sur une base de données:
Mysql > create user nom_user@host_name identified by 'password';
Mysql > grant all on nom_database.* to nom_user;

  • Les lignes de commandes

Rq: ne pas oublier le ';' à la fin de chaque ligne

Pour obtenir de l'aide:
Mysql > help;

Pour sortir
Mysql >  Quit

Pour lister les databases
Mysql > show databases ;

Pour choisir une database
Mysql > use nom_database

Pour lister les tables de cette BD
Mysql > show tables ;

Pour voir une decription d'une table:
mysql> desc nom_table;

Pour executer un script sql via un fichier
Mysql >  source  nom_du_fichier ;

Pour créer une sauvegarde de la base (dump ou backup), directement depuis la fenêtre de commande DOS:
mysqldump -u root -proot nom_de_base > nom_de_fichier.sql

Pour créer une database
mysql> drop database if exists menagerie;
mysql> CREATE DATABASE menagerie;

Pour créer une table - utilisez une requête CREATE TABLE pour spécifier la structure de votre table :
Exemple
Mysql > CREATE TABLE animal (nom VARCHAR(20), maitre VARCHAR(20),
Mysql > espece VARCHAR(20), sexe CHAR(1), naissance DATE, mort DATE);

Pour voir la description de la table
mysql> DESCRIBE animal;

Pour modifier une table:
mysql> ALTER TABLE animal ADD couleur varchar(15);
ou
mysql> ALTER TABLE animal MODIFY colonne_a TEXT;

Pour lister les droits des utilisateurs pour une base:
mysql> use mysql;
mysql> select * from schema_privileges;

 



Référence:
- Mysql tutorial by Sams publishing

Auteur: Euan MATEO

Ecrire un commentaire