Hallo Iedereen,
Ik ben voor de aardigheid aan het proberen (nadruk op proberen*) een classe aan het maken die bij in staat stelt om
zo op zo basic mogelijke manier, in mijn C++ applicaties, een connectie te kunnen maken met mijn mysqlserver (eerst local) en ook queries kunnen uitvoeren en dit terug kunnen lezen.
Nu kom ik niet vragen hoe ik dit het beste kan doen, maar wil graag mijn visie van wat ik geleerd heb delen en kijken als het klopt met jullie ideen/ervaring.
Om communicatie/connectie tot stand te kunnen brengen moet ik gebruik zien te maken van de mysqld daemon. dit is de toegang tot de mysqlserver. de mysqld deamon accepteert een aantal argumenten waardoor (we nemen nu even aan dat deze allemaal correct zijn) er een nieuwe thread(connectie) gestart wordt. Bron:
http://forge.mysql.com/wiki/MySQL_Internals_Guided_Tour#The_Skeleton_Of_The_Server_Code (zie: The Skeleton Of The Server Code)
Samenvatting basisstappen.
* mysqlserver wordt gestart.
* De basis componenten worden geintialiseerd.
* Er wordt een server thread gecreerd die luistert constant voor input.
* Wanneer input ondekt wordt wordt er een client thread gecreerd, met specifieke waardes die uniek zijn voor deze thread/connectie.
* De connectie heeft een commando parameter(s) mee gekregen deze wordt uitgevoerd, en zolang er een er commandos zijn om uit te voeren blijft de thread/connectie bestaan. zijn alle commandos afgewerkt dan wordt de thread/connectie gesloten. en is de cirkel rond.
Nu is mijn vraag:
Men kan op 2 manieren communiceren met de mysqlserver.
1. localhost.
2. via netwerk.
Nu denk ik (wil ik graag weten als dit juist is) dat de mysql daemon op te delen valt in 2 delen. (sterke aanwijzingen heb ik hier niet voor maar lijkt nu vanuit mijn kennis logisch)
1. een manier om te communiceren wanneer men zich localhost bevind.
2. een manier om te communiceren wanneer men zich via het netwerk wil laten connecten.
dit denk ik omdat de mysql daemon moet luisteren op een bepaalde poort voor input(wanneer men zich aanmeldt via het netwerk). wanneer men zich lokaal bevind kan de mysql deamon direct worden aangesproken.
OF
gaat lokale communicatie met ook via de zelfde poort waar de deamon op luistert? en is hij dus in staat om te identificeren waar de aanvraag wegkomt en stuur hij ,het in geval van locatie localhost, de data/pakket naar 127.0.0.1:poortX. en komt het zo weer bij de gebruikers terecht.
Nou dat was mijn preek wel zo beetje, wie nu nog niet in slaap is gevallen en mij wil helpen met advies/uitleg/opbouwende kritiek. be my guest!.
Alvast bedankt,
JV.com
PS: website waar ik mijn "wijsheid" vandaan gehaald heb:
http://forge.mysql.com/wiki/MySQL_Internals_Guided_Tour#The_Skeleton_Of_The_Server_Code* Nu ben ik mij bewust van de complexiteit van dit onderwerp en benader dit dus ook vol voorzichtheid en nederigheid. Ik doe dit omdat ik graag meer wil leren van het interne systeem mysqlserver, en omdat het een uitdaging voor me vormt om te kijken hoever ik hiermee kan komen, mijn motto is namelijk: de aanhouder wint

.