login  Naam:   Wachtwoord: 
Registreer je!
 Tutorials

Tutorials > MySQL


Gegevens:
Geschreven door:
marten
Moeilijkheidsgraad:
Hits:
6238
Punten:
Aantal punten:
 
Aantal stemmen:
0
Stem:
Niet ingelogd
Nota's:
 Lees de nota's (5)
 



Tutorial:

Meerdere MySQL servers op 1 machine

Untitled Document

Inleiding

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:

C:Program FilesMySQLinmysqld --defaults-file=C:server1.cnf
C:Program FilesMySQLinmysqld --defaults-file=C:server2.cnf

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.

[mysql1]
port=3306
basedir=C:Program FilesMySQL1
enable-named-pipe
socket=mypipe1
[mysql2]
port=3307 
basedir=C:Program FilesMySQL2
enable-named-pipe
socket=mypipe2

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.




« Vorige tutorial : MySQL Error Handling Volgende tutorial : Backup en recovery MySQL »

© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.014s