Serveur mysqld
Utiliser le programme mysqld
Programme mysqld
mysqld est le serveur MySQL (d pour daemon qui vient de l'anglais Disk And Execution MONitor.
Un programme démon réside en mémoire en attente des requêtes. Il s'exécute lorsqu'une requête concerne le port sur lequel il est en veille (3306 par défaut). Il est chargé, tout en gérant les requêtes, de fonctions de maintenance du système.
Variables mysqld
Le serveur mysqld dispose de deux types de variables :
- Les variables globales, qui affectent l'ensemble du serveur
- Les variables de session qui affectent des connexions individuelles
Variables globales
Lorsque mysqld démarre, toutes les variables globales sont initialisées à partir des arguments passés en ligne de commande et des fichiers de configuration. Vous pouvez changer ces valeurs avec la commande SET GLOBAL.
Variables de session
Le serveur entretient aussi un jeu de variables de session pour chaque client qui se connecte. Les variables de session d'un client sont initialisées au moment de la connexion, en utilisant les valeurs correspondantes globales. Pour les variables de session qui sont dynamiques, le client peut les changer avec la commande SET SESSION var_name.
Les fichiers de log de MySQL
MySQL a plusieurs fichiers de log qui peuvent vous aider à savoir ce qui se passe à l'intérieur de mysqld :
- Le log d'erreurs : Problèmes rencontrés lors du démarrage, de l'exécution ou du stoppage de mysqld.
- Le log isam : Garde une trace des changements liés au tables ISAM.
- Le log de requêtes : Connexions établies et requêtes exécutées.
- Le log de mises à jour : Désapprouvé : Enregistre toutes les commandes qui changent les données.
- Le log binaire : Enregistre toutes les commandes qui changent quelque chose. Utilisé pour la réplication.
- Le log des requêtes lentes : Enregistre toutes les requêtes qui ont pris plus de long_query_time à s'exécuter ou celles qui n'ont pas utilisé d'index.
Les fichiers logs n'apparaissent pas à l'écran car ils sont créés en mode binaire. Voir le bouton "save log page" de l'Administrator pour une sauvegarde des fichiers log en texte.
Par défaut, tous les fichiers de logs sont créer dans le dossier mysql/data mais vous pouvez forcer MySQL à utiliser un nouveau fichier de log avec le logiciel client mysqladmin. Vous pouvez aussi forcer mysqld à rouvrir les fichiers de log (ou dans quelques cas à passer à un nouveau log) en exécutant la commande de maintenance FLUSH logs.
Voir aussi comment entretenir les fichiers de log MySQL.
Lancer le programme mysqld
Lancer MySQLd depuis une fenêtre de console :-- Commande qui arrête le serveur MySQL (via le logiciel client mysqladmin)
C:\> C:\Program Files\MySQL\MySQL Server x.x\bin\mysqladmin -u root shutdown
-- Commande qui démarre le serveur MySQL (lance mysqld en tâche de fond) :
C:\> C:\Program Files\MySQL\MySQL Server x.x\bin\mysqld
Si mysqld ne se lance pas
◊ Vérifiez le log d'erreur (qui porte le suffixe .err) dans C:\mysql\data◊ ou lancez le serveur avec la commande :
C:\> C:\Program Files\MySQL\MySQL Server x.x\bin\mysqld --console;
Scripts de démarrage
- mysqld_safe : mysqld_safe tente de démarrer mysqld-max s'il existe (une version du serveur qui inclut des fonctionnalités supplémentaires), et sinon démarre mysqld.
- mysql.server : Ce script est utilisé sur les systèmes qui ont un dossier contenant des services système. Il invoque mysqld_safe pour démarrer le serveur.
- mysqld_multi : Il sert à gérer plusieurs serveurs mysqld qui utilisent différentes ports TCP/IP. C'est un script qui peut lancer ou arrêter différentes instances du serveur.
- mysql_install_db : Crée les tables de droits MySQL, avec les droits par défaut. Il est généralement exécuté une fois, lors de la première installation de MySQL.