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