Soms is het van belang en handig om meerdere servers op één systeem te draaien. Dit kan op zowel een Windows als een Linux platform. Het is dan wel van belang om een aantal verplichte opties mee te sturen. Deze worden hieronder behandeld.
Verplichte opties
Om een server 'uniek' te maken zodat er meerdere servers naast elkaar kunnen draaien zijn er een aantal verplichte opties. Deze opties moeten voor elke server verschillend zijn Dit zijn de volgende opties:
port
De optie port spreekt voor zich. Je kan eventueel gebruik maken van de optie -bind-adress om een verschillende interface aan te spreken.
socket
De optie socket is platform afhankelijk. Deze optie houdt op Linux platformen de socket file path in. Op Microsoft Windows wordt het de 'named pipe' in. Maar het principe is hetzelfde. Hierbij dient wel opgemerkt te worden dat alleen deze waarde wordt gegeven bij servers die 'named pipe' ondersteunen.
shared-memory-base-name
Op Microsoft Windows platforms kan deze optie gezet worden om de shared memory naam aan te geven die de clients gebruiken. Hierbij dient opnieuw te worden opgemerkt dat deze optie alleen kan worden gezet als de server dit ondersteund.
Log files
Wanneer op de servers gebruik wordt gemaakt van verschillende logging opties dienen deze bestandsnamen ook verschillend per server te zijn.
Overige aangeraden opties
Verder wordt aangeraden om de datadir, tmp dir en de bdb-tmp dir verschillend per server aan te geven. Ook is het niet geheel onverstandig om de basedir aan te geven wanneer je de servers op verschillende locaties op je server hebt draaien. Wanneer je dit doet kan je de opties van de log files over slaan omdat deze relatief ten opzichte van de basedir zijn.
Windows platform
Om op een Microsoft Windows platform meerdere servers naast elkaar te draaien dien je deze elk afzonderlijk met hun eigen verplichte opties aan te roepen. Je hebt de keuze om de servers als service te draaien of vanaf de command line.
Starten vanaf de commandline
Wanneer je meerdere servers naast elkaar wilt draaien is het handig om voor elke server een optie bestand aan te maken zoals behandeld in Optie bestanden
Om de servers vervolgens te starten kan je gebruik maken van de defaults-file optie waarmee je aangeeft welk optie bestand gebruikt dient te worden. Deze commando kan er als volgt uit zien:
Om vervolgens de servers te sluiten moet je met het poortnummer gaan werken.
Starten als service
Om de servers te starten vanaf de service regel dien je deze elk als uniek te behandelen. Door middel van de optie --install kan je de service een eigen naam meegeven. Let dan wel op dat de opties die binnen het blok [mysqld] in je optie bestand niet geladen wordt maar enkel die in de optiegroep staan met dezelfde naam als je specificeert in de --install optie.
Hieronder volgt een voorbeeld om aan te geven hoe dit gedaan kan worden.
Vervolgens kan je de servers als volgt installeren:
C:Program FilesMySQL1inmysqld-nt --install mysql1
C:Program FilesMySQL2inmysqld-nt --install mysql2
Om de service vervolgens te starten maak je gebruik van NET START mysql1 en om te stoppen NET STOP mysql1.
Linux platform
Op een Linux server is het zeer makkelijk om een tweede server ernaast te draaien. Het is wederom van belang om de port en de socket path goed aan te geven. Ook is het op een Linux platform belangrijk om de prefix aan te geven. Het aangeven van deze opties dient te gedaan met het commando ./configure. Zo installeer je dus twee van elkaar losstaande servers.
Je kan ook gebruik maken van een enkele server die je meerdere malen opstart. Je kan namelijk de port en socket optie meegeven bij het starten van een server. Het aanroepen van deze opties staat beschreven in Command opties.
MySQL multi
Je kan ook gebruik maken van het script MySQL_multi. Dit staat hier verder beschreven.