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.sockshell>MYSQL_TCP_PORT=3307shell>export MYSQL_UNIX_PORT MYSQL_TCP_PORTshell>scripts/mysql_install_dbshell>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.
        Annexe E, Variables d'environnement 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. See
        Section 5.1.5, « mysqld_multi, un programme pour gérer plusieurs
        serveurs MySQL ».
      
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

