Cours la base d’administration de « mysql »

Cours la base d’administration de « mysql », tutoriel & guide de travaux pratiques en pdf.

Lancement de MySQL

$ /etc/rc.d/init.d/mysql -?
Utilisation : /etc/rc.d/init.d/mysql {start | stop | status | reload | restart} $ ps ax |grep mysql
1944 ? S 0:00 /bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql –
pid-file=/var/lib/mysql/localhost.pid –log –log-update
1977 ? S 0:00 /usr/sbin/mysqld –basedir=/ –datadir=/var/lib/mysql
–user=mysql –pid-file=/var/lib/mysql/localhost.pid –skip-locking
1978 ? S 0:00 /usr/sbin/mysqld –basedir=/ –datadir=/var/lib/mysql —
user=mysql –pid-file=/var/lib/mysql/localhost.pid –skip-locking
–log-update permet de loguer toutes les changements dans une base et de réaliser des backup incrémentaux. Toute l’histoire d’une base peut etre logguée dans /var/lib/mysql/localhost.log
Comment est lancé le serveur dans /etc/rc.d/init.d/mysql?
$ cat /etc/rc.d/init.d/mysql
gprintf « Starting MySQL Server »
$bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file 2>&1 | logger -t mysqld_safe & success
$ opt/mysql/bin/mysqld_safe –basedir=/opt/mysql/ — datadir=/opt/mysql/var/ –user=mysql –log –log_isam –log-update
Starting mysqld daemon with databases from /opt/mysql/var/
Pour connaître l’ensemble des options de mysqld
man mysqld
man mysqld_safe

Arrêt du serveur MySQL
$ mysqladmin -u root -p shutdown $ /etc/rc.d/init.d/mysql stop
$ killall mysqld
$ mysqld_pid=`cat /opt/mysql/var/localhost.pid` $ kill $mysqld_pid

Configuration de MySQL
Options du serveur mysqld :
Soit au lancement sur la ligne de commande Soit dans un fichier de conf « /etc/my.cnf »
mysqld lit ses options dans les sections [mysqld] et [server].
mysqld_safe lit ses options dans les sections [mysqld], [server], [mysqld_safe], et [safe_mysqld]
mysql.server lit ses options dans la partie [mysqld] et [mysql.server]
Pour voir les options que l’on peut placer dans ces sections :
mysqld –help
Options disponibles de my.cnf
[client]
host=localhost
user=user_mysql password=toto
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock skip-innodb
[mysql.server] user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Connexion au serveur MySQL
mysql -u root -h localhost
La première fois pas de mot de passe pour se connecter !!
Mettre tout de suite un mot de passe pour l’utilisateur « root » de MySQL !
/opt/mysql/bin/mysqladmin -u root password ‘titi’
Quelques commandes intéressantes:
$ mysqladmin variables | mysql> show variables $ mysqladmin version
$ mysqladmin status | mysql> show status
Utiliser une base courante
Pour spécifier l’utilisation d’une base particulière :
1. Au lancement du client Mysql -u root -p CHOCOLATS
2.1 Sous l’interpreteur mysql Mysql> Use CHOCOLATS Mysql> select * from CLIENTS
2.2 En notation « pointée » en préfixant les tables par le nom de base [BASE.table] Mysql> select * from CHOCOLATS.CLIENTS;

Gestion des comptes utilisateurs
Gestion des Accès à la Base
Sécurité des accès
MySQL utilise sa propre base d’administration “/var/lib/mysql/mysql” pour gérer la sécurité des accès aux autres bases.
Seul le user “ root ” de MySQL doit avoir accès à cette base!
La base « mysql » utilise 5 tables pour décider « qui » a la permission de faire « quoi » sur quelle « base », à partir « de quelle machine »
La base « mysql » contient 5 tables d’administration
$ ls /var/lib/mysql/mysql/ user.frm , host.frm , db.frm columns_priv.frm func.frm tables_priv.frm

LIRE AUSSI :  Cours langages SQL complet

Sécurité des accès
La table « user » contient les informations de sécurité qui s’appliquent à tout le serveur.
La table « host » contient les machines qui ont le droit d’accéder au serveur
Les tables db, tables_priv et columns_priv contiennent les droits d’accès pour une base, une table ou une colonne.
L’ordre des contrôles d’accès est le suivant (cf doc. Texte word)

Les permissions MySQL
mysql> SHOW PRIVILEGES;
SELECT : droit d’effectuer des recherches avec “select »
INSERT : droit d’effectuer des insertions avec « insert »
UPDATE : droit d’effectuer des mises à jour avec « update »
DELETE : droit d’effectuer des destructions d’enregistrements dans des tables
INDEX : droit de créer ou détruire des index de tables
ALTER : droit de modifier la structure des tables avec « alter »
CREATE : droit de créer des bases ou des tables avec « create »
USAGE : droit de se connecter au serveur, sans rien faire d’autre
( utile uniquement pour changer le mot de passe de connexion )
LOCK : droit de verrouiller/déverrouiller des tables
Drop : droit de détruire des bases ou des tables
Grant : permet d’affecter des droits et permission à un utilisateur
References : (droit lié aux « foreign keys », inutilisé encore dans les version actuelle de mysql.. )
Privilèges globaux, ne s’appliquent pas à UNE base particulière
Reload : permission de relancer le serveur mysql et d’ecrire les tables sur disques.
Shutdown : droit d’arrêter le serveur “mysqld »
Process : droit de contrôler les processurs utilisateurs.
File : droit d’écrire ou lire dans des fichiers ascii avec les commandes « load data » et « into outfile »

 Installation de MySQL
 Lancement du serveur « mysqld »
 Configuration et Paramétrage du serveur
Création d’une Base de Données
 La gestion des droits sur les Bases
 La base d’administration de « mysql »
Gestion des comptes utilisateurs
 Ajout et suppression d’utilisateurs
 Affectation des permissions pour des utilisateurs
Design et Création d’une Base
 Création des tables
 Les types de données
Manipulation des données dans les tables
 Insertion, selection, modification, destruction
 Instructions de transactions et de verrouillage
 Administration, sauvegarde, réparation des Bases
 Instructions d’optimisation des Bases
Utilisation d’une API PHP ou Perl

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *