Wampser / MySQL

Status
Niet open voor verdere reacties.

stefanius

Nieuwe gebruiker
Lid geworden
12 feb 2008
Berichten
3
Hallo,

Voor een project moet ik gegevens uit een database halen, die ik via een andere applicatie (stand-alone, op een PC in het netwerk) er in het gezet.

Ik ben al enige tijd bekend met wampserver maar ik kom het volgende probleem tegen:

De applicatie (voor de duidelijkheid, een *.exe) kan op mijn machine, als ik de verbinding instel op 127.0.0.1 de taken uitvoeren (gegevens plaatsen in de database).

Vanaf een andere machine word elke vorm van toegang geweigerd (de website, en de gegevens die via de website worden verzonden/opgehaald, komen braaf in de database terecht)

Nu schijn je via opties als skip_networking iets voor elkaar te kunnen krijgen, maar als ik deze activeer loopt wampserver in de soep.

Wellicht heeft een van u een oplossing?

Alvast bedankt.
 
Je vraag is niet helemaal duidelijk, maar kijk of mijn samenvatting overeenkomt met je informatie:
1. Je vult een MySql database d.m.v. een .EXE bestand
2. Je vraagt gegevens op én past ze aan / vult ze aan in een MySql server via een website die draait op WAMP

ad 1.: De .EXE werkt alleen op de pc waar ook de WAMP-server op draait. Je vult in die .EXE in: 127.0.0.1. Die .EXE moet klaarblijkelijk contact leggen met met de MySql servercomponent van de WAMP-server.

Als ik dit goed beschreven heb, dan is het niet vreemd dat het niet werkt vanaf een andere pc: Het 127.0.0.1 adres geeft aan: deze computer
Er wordt dus op de niet-WAMPserver contact gezocht met MySql 'op de eigen computer', maar MySql draait niet op de eigen computer (het draait nl. op de WAMPserver), dus gaat het mis.
Vanaf de WAMPserver zelf werkt dit natuurlijk wel, want daar draait wel MySql 'op de eigen computer'.

Ok, je moet 1 (en mogelijk 2) dingen doen.:
1. Je moet het ip-adres invullen van de WAMPserver in plaats van 127.0.0.1
127.0.0.1 is namelijk hetzelfde als 'localhost'.
Als je niet weet welk ip-adres je WAMP-server heeft, doe dan het volgende op de WAMPserver:
[Windows-toets]r toetscombinatie -> cmd /k ipconfig
Het ip-adres staat dan rechts van ip-adres danwel ip-adres (IPv4)
2. Als er een gebruikersnaam wordt doorgegeven aan de MySql server, dan moet je ervoor zorgen dat die gebruikersnaam óók vanaf een andere computer mag verbinden dan alleen de WAMPserver.

Zie, als voorbeeld, in bijlage1 (PhpMyAdmin) dat m.b.t. mijn database wordpress:
a. Als ik als ik verbind vanaf de MySql-server ("localhost") hoef ik (via "Elke") geen gebruikersnaam of wachtwoord in te geven. Ik heb dan enkele rechten, maar niet allemaal.
b. Vanaf een andere pc (" % ") moet ik gebruikersnaam root gebruiken met een wachtwoord, maar dan heb ik óók niet alle rechten.
c. Als ik vanaf de MySql-server ("localhost) verbind en ik log in als gebruiker root, dan mag ik alles doen ("All privileges").

Zie in bijlage 2 (PhpMyAdmin) hoe de gebruiker die ik onder b. zojuist genoemd heb het recht geef om vanaf een willekeurige andere computer te verbinden.

Succes,

Tijs.
 

Bijlagen

  • phpmyadmin_mysql.JPG
    phpmyadmin_mysql.JPG
    70,3 KB · Weergaven: 67
  • phpmyadmin_mysql2.JPG
    phpmyadmin_mysql2.JPG
    46,6 KB · Weergaven: 64
Laatst bewerkt:
Bedankt voor uw snelle antwoord,

ik realiseer mij ook meteen dat ik mijn vraagstelling anders had moeten doen ;), dat verhaal over 127.0.0.1/localhost was mij inmiddels al wel bekend.

Mijn IP is op de laptop 192.168.1.100, en mijn desktop 192.168.1.101. Mijn laptop is de WAMP server, en zelfs op mijn laptop kan ik niet verbinden met het 192.168.1.100 adres, enkel en alleen met localhost of 127.0.0.1

Wat ik dus wil is dat mijn mysql-gedeelte van WAMP publiek word (binnen mijn eigen netwerk uiteraard ;) ) en ik deze dus kan benaderen van andere machines. Het server naar de website gaat wel zonder problemen, en de website kan wel via PHP data ophalen uit de database. Het aanpassen van de rechten heeft mij vooralsnog niet geholpen, het lijkt erop dat ik ergens een inf/ini/config dingetje moet aanpassen om het een en anders open te zetten?
 
Laat eens zien dan m.b.t. die instellingen vanaf localhost en andere computers, dus zoals mijn eerste bijlage eruit ziet, maar dan op jouw situatie.

NB: Let op de kolom Type. Staat die op globaal, dan geldt een gebruikersnaam (+ rechten) voor alle databases. Staat er database-specifiek, dan is dat alleen voor die ene database.

Daarbij: Je zult er ook voor moeten zorgen dat verbindingen mogelijk zijn op de luisterpoort van MySql. Je kunt in de my.ini zien bij onderdeel [mysqld] vinden welke TCP-poort dat bij jou zou moeten zijn. Ik vermoed dat http verkeer (poort 80 TCP) dus al geregeld is in je firewall programmatuur op de laptop, maar niet de MySql serverluisterpoort.

Tijs.
 
Bij deze een screenshot van mijn instellingen van de database. Mijn firewall staat zelfs uit, en de poort van mysql is ingesteld op 3306 (standaard).wampellende.JPG
 
Doe eens vanaf een andere computer dan de WAMP-server (met XP) op je netwerk het volgende:
Start -> Uitvoeren -> cmd /k telnet 192.168.1.100 3306
Als het scherm dan 'zwart' wordt met de cursor linksboven en wat 'gebrabbel' in beeld komt (zie bijlage, na een paar seconden wordt de verbinding automatisch verbroken), dan is er in ieder geval geen firewall probleem, want er is dan verbinding op de luisterpoort van MySql op je WAMP-server.

Dan is nog de vraag of hart_van_leiden (2) wel de database is waarmee door die .exe verbonden wordt. Zoals je in je eigen schermafdruk kunt zien is toegangsrecht voor Elke namelijk "database-specifiek", dus niet geldig voor andere databases.

Oh ja, ik zie dat de kolom "Toekennen" op Nee staat voor Elke. Ik ken die kolom niet goed, maar ik zou me kunnen voorstellen dat als daar Nee staat het (toegangs-)recht niet wordt toegekend, dus dat die op Ja zou moeten staan. Je zult dat dan moeten aanpassen, als het er iets mee te maken heeft.

Succes,

Tijs.
 

Bijlagen

  • mysql_poort_test.JPG
    mysql_poort_test.JPG
    19,7 KB · Weergaven: 61
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan