Mise en place d’un serveur MySQL, optimisation et recommandations
MySQL
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 à APT 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
vi /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 à # (le log binaire n’est utile que dans le cas de réplications avec serveurs maître-esclave)
- 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
[mysqld]
- default-character-set = utf8
- Jeu de caractères par défaut pour le serveur
- default-collation = utf8_general_ci
- Collation du jeu de caractères
[client]
- default-character-set = utf8
- Jeu de caractères par défaut pour le client
N’oubliez pas de recharger le serveur suite à ces modifications :
/etc/init.d/mysql reload
Optimisation

Si vous désirez optimiser cette configuration (après l’avoir exploitée, les statistiques n’étant pas représentatives au départ), faites appel à MySQLTuner. Il s’agit d’un script écrit en Perl qui ne modifiera pas votre configuration mais vous proposera des améliorations.
wget http://mysqltuner.com/mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl
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

Vous pourrez vous connecter en ligne de commande grâce au client :
mysql -ulogin -pmotdepasse
Ou bien en utilisant un client graphique, voire aussi phpMyAdmin (installation par défaut : apt-get install phpmyadmin puis éditez config.inc.php ou recopiez-le à partir de config.sample.inc.php)
Leave a Reply
You must be logged in to post a comment.
Recent Comments