Utiliser plusieurs serveurs MySQL un serveur Windows
<<<
Utiliser plusieurs serveurs sous Unix Utiliser les clients dans un environnement multi-serveur
>>>

5.9 Faire fonctionner plusieurs serveurs MySQL sur la même machine
5 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Utiliser plusieurs serveurs MySQL un serveur Windows
->Utiliser plusieurs serveurs sous Unix
Utiliser les clients dans un environnement multi-serveur

5.9.2 Utiliser plusieurs serveurs sous Unix

Le plus simple pour utiliser plusieurs serveurs sous Unix, est de le compiler avec différents ports TCP/IP et sockets pour que chacun puisse utiliser une interface réseau différente. De plus, en compilant le serveur dans différents dossier de base, cela conduit automatiquement à la configuration de différents dossiers de données, fichiers de logs, et PID pour chaque serveur.

Supposons que le serveur existant est configuré avec le numéro de port (3306) et le fichier de socket par défaut ( /tmp/mysql.sock ). Pour configurer un nouveau serveur en ayant des paramètres opératoires différents, vous pouvez utiliser le script de configuration configure avec les options suivantes :


shell> ./configure --with-tcp-port=port_number \
             --with-unix-socket-path=file_name \
             --prefix=/usr/local/mysql-4.0.17
Ici, port_number et file_name doivent être différents des valeurs par défaut de numéro de port et de chemin. La valeur --prefix doit spécifier un dossier d'installation différent de celui dans lequel le serveur existant est installé.

Si vous avez un serveur MySQL qui écoute sur un port donné, vous pouvez utiliser la commande suivante pour connaître ses caractéristiques, y compris son dossier de base et son fichier de socket :


shell> mysqladmin --host=host_name --port=port_number variables
Avec les informations affichées par la commande, vous pouvez savoir quelles valeurs ne doivent pas être utilisées lors de la configuration du nouveau serveur.

Notez que si vous spécifiez `` localhost '' comme nom d'hôte, mysqladmin va utiliser par défaut une socket Unix plutôt que TCP/IP. En MySQL 4.1, vous pouvez explicitement spécifier le protocole de connexion avec l'option --protocol={TCP | SOCKET | PIPE | MEMORY} .

Vous n'avez pas à compiler un nouveau serveur MySQL pour le lancer avec un numéro de port et une socket différente. Il est aussi possible de spécifier ces valeurs au moment du démarrage. Une méthode pour faire cela est d'utiliser les options de ligne de commande :

shell> /path/to/mysqld_safe --socket=file_name --port=port_number
Pour utiliser un dossier de données différent, utilisez l'option --datadir=path à mysqld_safe .Un autre moyen pour arriver au même résultat est d'utiliser les variables d'environnement pour spécifier le nom de la socket et le numéro de port.

shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock
shell> MYSQL_TCP_PORT=3307
shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT
shell> scripts/mysql_install_db
shell> bin/mysqld_safe &
C'est une méthode rapide pour lancer un second serveur pour le tester. Le plus agréable de cette méthode est que les variables d'environnement vont être adoptées par les logiciels clients que vous invoquerez avec le même Shell. Par conséquent, les connexions seront automatiquement dirigées vers le nouveau serveur. Variables d'environnement MySQL inclut une liste des variables d'environnement que vous pouvez utiliser pour affecter mysqld .

Pour les scripts de lancement automatique, votre script de démarrage qui est exécuté au démarrage doit utiliser la commande suivante avec les options appropriées pour chaque serveur :


mysqld_safe --defaults-file=path-to-option-file
Chaque fichier d'options doit contenir les valeurs spécifique du serveur.

Sous Unix, le script mysqld_multi est une autre méthode pour lancer plusieurs serveurs. mysqld_multi , un programme pour gérer plusieurs serveurs MySQL .

<< Utiliser plusieurs serveurs sous Unix >>
Utiliser plusieurs serveurs MySQL un serveur Windows Faire fonctionner plusieurs serveurs MySQL sur la même machine Utiliser les clients dans un environnement multi-serveur