Pour compléter une note précédente sur Innodb et UTF8 voici quelques notes de configuration de MySQL avec le moteur de base de donnée Innodb sous forme de checklist pour toute solution d’hébergement ou architecture MySQL est dédier eZ Publish, Dotclear 2 et autre CMS.
Utilisez le moteur Innodb
Forcer le moteur par defaut de stokage en InnoDB pour la création de toute nouvelle table sans spécification du moteur souhaité.
<span style="color: #808080; font-style: italic;">#</span> <span style="color: #808080; font-style: italic;"># Moteur par defaut de stokage, ici InnoDB parce que Ez publish</span> <span style="color: #808080; font-style: italic;">#</span> default-storage-engine = InnoDB
UTF8
Prévoir dès le départ l’encodage des base en UFT8
<span style="color: #808080; font-style: italic;">#</span> <span style="color: #808080; font-style: italic;"># Encodage UTF8</span> <span style="color: #808080; font-style: italic;">#</span> default-character-<span style="color: #007800;">set=</span>utf8 default-<span style="color: #007800;">collation=</span>utf8 <span style="color: #007800;">collation_server=</span>utf8_general_ci <span style="color: #007800;">character_set_server=</span>utf8 skip-character-set-client-handshake
Configurer l’écoute sur toute les interfaces réseaux
Ouvrir à un utilisation via le réseau sans limitation d’interface ou d’adresse.
<span style="color: #808080; font-style: italic;">#</span> <span style="color: #808080; font-style: italic;"># Instead of skip-networking you can listen only on</span> <span style="color: #808080; font-style: italic;"># localhost which is more compatible and is not less secure.</span> bind-address = <span style="color: #808080; font-style: italic;">#skip-networking</span>
Optimisation tablespace
Prévoir le lancement du moteur innodb avec comme configuration un fichier tablespace par table. Cela va créé un fichier tablespace pour chaque table innodb et vous évitera d’avoir dans quelque mois un unique fichier tablespace de plusieurs giga octet impossible à manipuler.
<span style="color: #808080; font-style: italic;">#skip-innodb</span> innodb_file_per_table
Optimisation Log
Bloquer les log binaire qui consomme beaucoup d’espace disque et n’apporte pas de sécurité sur une plate-forme qui n’a pas de réplication Master / Slave MySQL.
<span style="color: #808080; font-style: italic;">#log_bin = /var/log/mysql/mysql-bin.log</span>
Optimisation innodb_buffer_pool_size
innodb_buffer_pool_size définie la taille de buffer mémoire que InnoDB utilise pour mettre en cache les données et les index de tables. Plus cette valeur est grand, et moins vous ferez d’accès disques. Sur un serveur dédiés, vous pouvez monter cette valeur jusqu’à 80% de la mémoire physique de la machine. Ne lui donnez pas une valeur trop grande, car cela peut engendrer l’utilisation de mémoire sur le disque par votre serveur (swap).