Articles


  1. PLAN

  1. PLAN
  2. PRESENTATION
  3. INSTALLATION
  4. CONNEXION AU SERVEUR
  5. GESTION DES UTILISATEUR
  6. DROIT ACCÈS AU BASE DE DONNEES
  7. GESTION DES BASES ET DES ENREGISTREMENTS
  8. INFORMATION SUR LE SERVEUR
  9. MAINTENANCE
  10. LIENS
  1. PRESENTATION

Mysql est un système de gestion de base de données(SGBD) des plus performant à l'heure actuelle.
Dans cet article, nous essayerons de vous donner les bases de l'administration du serveur et des bases de données, pour que vous puissiez facilement gérer celle de votre site internet sans outil extérieur.

  1. INSTALLATION

L'installation de mysql s'effectue depuis les paquetages dont la liste est la suivante :

  • mysql
  • mysql-client
  • mysql-common

L'installation de base ne nécessite pas de configuration particulière, une fois installée, vous disposez d'un serveur, mais aussi de client pour pouvoir le gérer.

  1. CONNECTION AU SERVEUR

La connexion au serveur s'effectue avec la commande suivante :
« mysql -h nom hôte -u utilisateur -pmot de passe »

L'option -h n'est à fournir que si vous vous connectez à un hôte distant. Tandis que l'option -p doit être utilisé seule ou avec le mot de passe directement collé à l'option. Si ce n'est pas le cas l'interpréteur prendra le mot de passe pour la base de données à laquelle vous voulez vous connecter.
Le compte par défaut pour l'administration est le compte « root » vous pouvez l'utiliser pour vous connecter à la base mysql avec la commande suivante :
« mysql -u root -p mysql »

Le mot de passe actuellement inexistant vous sera tout de même demandé.

  1. GESTION DES UTILISATEURS

2 utilisateurs ont été créés par défaut ; le super-utilisateur « root » qui possède tous les droits sur les bases de données et l'utilisateur « anonyme » qui possède des droits très réduits.
Par défaut le compte « root » n'a pas de mot de passe, remédiez au plus vite à cela par la commande :
« mysqladmin -u root password 'secret' »

La gestion des utilisateurs comme toute autres taches d'administrations nécessite l'accès à la base avec le compte root, chose que vous pouvez maintenant faire directement avec le login et le mot de passe.
« mysql -u root -p secret »

Une fois connecté, vous pouvez gérer les utilisateurs.
Premièrement, il vous est conseillé de supprimer le compte « anonyme », effectuez la suppression du compte via la commande générique suivante :
« mysql> DELETE FROM user WHERE user=''; »

Vous pouvez aussi ajouter un compte :
« mysql> INSERT INTO user (host, user, password) VALUES('localhost', 'bob', password('password')); »

Mettre a jour une info sur le compte, par exemple le mot de passe :
« mysql> UPDATE user SET password=password('mdp') WHERE user='bob'; »

A chaque opération sur la base utilisateur, pensez à recharger les droits avec la commande :
« mysql> FLUSH PRIVILEGES; »

Vous pouvez maintenant effectuer les principales opérations sur les comptes utilisateurs.

  1. DROIT ACCÈS AUX BASES DE DONNEES

Une fois les utilisateurs créés, il faut leur accorder des droits d'accès sur les différentes bases de données.
Ils sont inclus dans les 5 tables de la base de données mysql, dont la gestion est effectué par « root ».
Ces droits d'accès doivent rester en état et seul « root » doit pouvoir les modifier.
Pour gérer ces droits vous disposer de 2 commandes GRANT et REVOKE.
Exemple :

Donner tous les droits a l'utilisateur bob sur la base test :
« GRANT ALL PRIVILEGES ON test.* TO bob@localhost IDENTIFIED BY 'mdp'; »

Supprimer tous les droits de bob sur test :
« REVOKE ALL PRIVILEGES ON test.* FROM bob@localhost; »

À chaque opération sur les droits d'accès, pensez à recharger les droits avec la commande :
« mysql> FLUSH PRIVILEGES; »

  1. GESTION DES BASES ET DES ENREGISTREMENT

Lors de l'installation 2 bases sont créées ; la base mysql destinée à gérer les utilisateurs, leurs droits accès, etc... et la base test qui comme son nom l'indique est destinée aux tests.

Nous pouvons bien entendu créer une table supplémentaire :
« mysql> CREATE DATABASE test2; »

La supprimer :
« mysql> DROP DATABASE test2; »

Nous pouvons afficher la liste des bases restante :
« mysql> SHOW DATABASES; »

Créer des tables dans la base choisie :
« mysql> USE test; »
« mysql> CREATE TABLE note (num int, texte varchar(250));

Supprimer une table
« mysql> DROP TABLE nomTable; »

Afficher les tables :
« mysql> SHOW TABLES; »

Insérer un enregistrement :
« mysql> INSERT INTO note (num, texte) VALUES (1, 'acheter pomme'); »

le mettre à jour :
« mysql> UPDATE note SET texte='acheter pomme et orange' WHERE num=1; »

le lire :
« mysql> SELECT texte FROM note WHERE num=1; »

le supprimer
« mysql> DELETE FROM note WHERE num=1; »

Afficher la structure de la table :
« mysql> DESCRIBE note; »

Renommer la table :
« mysql> ALTER TABLE note RENAME AS postit; »

la vider de ses enregistrements :
« mysql> TRUNCATE TABLE postit; »

  1. INFORMATION SUR LE SERVEUR

L'utilitaire « mysqladmin » est affecté à la gestion interne du serveur, des bases et des utilisateurs.
Il est fort utile pour connaître diverses informations sur le serveur.

Pour connaître la charge du serveur utilisez par exemple la commande :
« mysqladmin -p status »

Pour afficher le détail des connexions clientes :
« mysqladmin -p processlist »

Accéder aux informations de connexion au serveur :
« mysql> \s; »

Pour connaître les informations sur l'encodage :
« mysql> SHOW VARIABLES LIKE 'char%'; »

  1. MAINTENANCE

  • sauvegarde des bases :

sauvegarde de toutes les bases dans 1 fichier sql :
« mysqldump -u root -psecret --default-character-set=latin1 -f --all-databases | bzip2 > /data/mysql/mysql-all-base.sql.bz2 »

sauvegarde du contenu de la base test dans le fichier test.sql :
« mysqldump -p test > /data/mysql/test.sql »

sauvegarde d'une table :
« mysqldump -p test note > /data/mysql/test-note.sql »

  • restaurer une base

Pour restaurer une base, il suffit de partir du fichier de sauvegarde et de le réinjecter dans la base existante :
« mysql -p -D test < /data/mysql/test.sql »

  • Verifier et réparer des bases :

Pour une vérification et au besoin réparation de toutes vos bases :
« mysqlcheck -u root -proot –all-databases –auto-repair

Vous pouvez aussi utiliser l'utilitaire « myisamchk », qui est le plus souvent utilisé pour retrouver l'intégrité d'une table endommagée.
Il doit être lancé pendant que le serveur est arrêté et le chemin de la table doit y être indiqué.

Exemple :
myisamchk -d /var/lib/mysql/test/note

Vous pouvez utiliser l'option -r pour défragmenter le fichier, ce qui est utile dans le cas où il y a de nombreux « Deleted blocks »
myisamchk -r /var/lib/mysql/test/note

D'autres opérations de maintenances peuvent bien entendu être effectuées nous vous renvoyons à la documentation officielle pour plus d'informations.

  1. LIENS

http://www.mysql.fr/

http://www.basicconfig.com/linuxservers/setup_configure_mysql_slackware

http://www.crdp-strasbourg.fr/freesofts/auto_intranet/ai35.htm

http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch34_:_Basic_MySQL_Configuration