CORNU Thomas
SISR
Installation & Configuration d'un serveur MySQL sous
Debian
MySQL est le serveur de bases de données le plus répandu pour les serveurs web. Il allie une
grande souplesse d'utilisation et de nombreuses fonctionnalités, tandis que sa mise en œuvre
reste simple.
 Installation
Grâce à aptitude (en administrateur) nous installons les paquets correspondants :
apt-get install mysql-server mysql-client libmysqlclient15-dev mysql-common
 Configuration
La configuration de base est stockée dans /etc/mysql/my.cnf
gedit /etc/mysql/my.cnf
Voici quelques options intéressantes à modifier par défaut
language = /usr/share/mysql/french
Choisir la langue par défaut pour les messages du serveur (français)
key_buffer = 32M
Taille du cache des index
query_cache_limit = 2M
Taille limite du cache par requête
query_cache_size = 32M
Taille totale du cache des requêtes
#log_bin = /var/log/mysql/mysql-bin.log
#expire_logs_days = 10
Désactiver le log binaire en commentant ces deux lignes grâce à #
log_slow_queries = /var/log/mysql/mysql-slow.log
Mettre en log les requêtes lentes (utile pour les repérer et les optimiser)
long_query_time = 2
Durée (en secondes) à partir de laquelle une requête est considérée comme lente
N'oubliez pas de recharger le serveur suite à ces modifications :
/etc/init.d/mysql reload
CORNU Thomas
 Sécurisation
Il est facile de mettre en place quelques règles simples pour sécuriser le serveur, grâce au
script :
mysql_secure_installation
Et en répondant à quelques questions :
Set root password ? Y
Permet de modifier le mot de passe root (de mysql)
Remove anonymous users ? Y
Retire les accès anonymes
Disallow root login remotely ? Y
Retire l'accès root distant (recommandé)
Remove test database and access to it ? Y
Retire la base test et ses accès
Reload privilege tables now ? Y
Recharge les privilèges suite aux modifications
 Connexion
On pourra donc se connecter en ligne de commande grâce au client :
mysql -ulogin -pmotdepasse
Ou bien en utilisant un client graphique, voire aussi phpMyAdmin
 Commandes shell utiles
mysqldump -ulogin -pmotdepasse nom_base --opt >fichier.sql
Exporte la base nom_base vers fichier.sql
mysqldump -ulogin -pmotdepasse --all-databases --opt >fichier.sql
Exporte toutes les bases vers fichier.sql
mysql -ulogin -pmotdepasse <fichier.sql
Importe les instructions du fichier SQL
mysqladmin
Toute une collection d'outils pour administrer le serveur.
SISR
CORNU Thomas
 Commandes de base en ligne de commande MySQL (client)
SHOW DATABASES
Liste les bases de données
SHOW STATUS
Affiche le statut du serveur
USE nom_base
Sélectionne la base par défaut
SHOW TABLES
Affiche les tables de la base courante
DESCRIBLE table
Affiche la structure de la table
SELECT * FROM table
Affiche le contenu de la table
CREATE DATABASE base
Crée une nouvelle base de données
SISR