- PLAN
- PLAN
- PRESENTATION
- INSTALLATION
- CONNEXION AU SERVEUR
- GESTION DES UTILISATEUR
- DROIT ACCÈS AU BASE DE DONNEES
- GESTION DES BASES ET DES ENREGISTREMENTS
- INFORMATION SUR LE SERVEUR
- MAINTENANCE
- LIENS
- 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.
- 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.
- 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é.
- 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.
- 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; »
- 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; »
- 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%'; »
- 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.
- LIENS
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