19.3 Faire tourner plusieurs serveurs MySQL sur la même machineIl existe des cas où vous aurez besoin d'avoir plusieurs serveur MySQL sur la même machine. Par exemple, si vous voulez tester une nouvelle version sans perturber le serveur de production. Ou encore, si vous voulez fournir un serveur MySQL pour différents clients. Pour ce faire, le moyen le plus simple et de compiler le serveur avec différents ports TCP/IP et différentes sockets, pour éviter que les serveurs utilisent les mêmes sockets ou ports. Supposons qu'il existe un serveur configuré avec le port et la socket par défaut. Alors, pour réaliser une nouvelle configuration, vous pouvez utiliser la commande suivante : shell> ./configure --with-tcp-port=port_number \ --with-unix-socket=file_name \ --prefix=/usr/local/mysql-3.22.9
Ici, Vous pouvez connaître la socket et le port utilisé actuellement par MySQL avec la commande suivante : shell> mysqladmin -h hostname --port=port_number variables Si un serveur MySQL utilisait le port que vous avez utilisé, vous allez voir s'afficher la liste des variables de configuration les plus importantes de ce serveur, y compris le nom de la socket.
Il vous faut aussi éditer le script d'initialisation de votre machine (probablement ``mysql.server'') pour démarrer et arrêter plusieurs serveurs
Vous n'avez pas besoin de recompiler un nouveau serveur MySQL pour changer ses port et socket. Vous pouvez les changer en les spécifiant lors du démarrage, avec l'option shell> /path/to/safe_mysqld --socket=file_name --port=port_number
Si vous voulez faire fonctionner le nouveau serveur MySQL avec les mêmes bases de données que l'autre, vous devrez aussi spécifier les fichiers d'historique dans Attention: Normalement, vous ne devriez jamais avoir deux serveurs qui modifient en même temps des données dans une base. Si votre OS ne supporte pas le verrouillage en écriture, vous allez rencontrer quelques surprises déplaisantes.
Si vous voulez utiliser un autre dossier pour les bases du second serveur, vous pouvez utiliser l'option Lorsque vous voulez vous connecter à un serveur MySQL qui fonctionne sur un port différent du port par défaut, vous pouvez utiliser une des méthodes suivantes :
|