Ik wil met mijn windows 7 via een WAMPSERVER connectie maken met mijn remove database.
define("DB_HOST_VP" , 'xxx.xxx.xxx.xxx'); // server's IP
define("DB_LOGIN_VP" , 'xxxxx');
define("DB_PASSWORD_VP", 'xxxxx');
define("DB_NAME_VP" , 'xxxxx');
VERVOLGENS DE CONNECTIE:
public $sconnection;
public function sconn()
{
if (!$this->sconnection) {
$this->sconnection = mysqli_connect(DB_HOST_VP, DB_LOGIN_VP, DB_PASSWORD_VP, DB_NAME_VP);
}
return $this->sconnection;
}
In my.cnf op mijn linux server heb ik bij bind-adress = 0.0.0.0 staat wat vanuit alle ipadressen dit moet accepteren.
Na verbinding proberen te maken krijg ik:
Warning: mysqli_connect(): (HY000/2002): Een verbindingspoging is mislukt omdat de verbonden party niet correct heeft geantwoord na een bepaalde tijd, of de gemaakte verbinding is mislukt omdat de verbonden host niet heeft geantwoord. in f:\test/test.php on line 26
Lijn 26 is dan -> $this->sconnection = mysqli_connect(DB_HOST_VP, DB_LOGIN_VP, DB_PASSWORD_VP, DB_NAME_VP);
Het komt niet enkel neer op GRANTs, jouw MySQL-server moet ook externe connecties accepteren, en dan moet jouw server luisteren op de bijbehorende poort(en). Er zijn dus meerdere plekken tussen jouw computer en je remote database waar de connectie kan worden geweigerd.
En ook aan "jouw kant" moeten er mogelijk (uitgaande) poorten opengezet worden. Ook daar kun je al tegengehouden worden.
Het eerste zoekresultaat voor de zoekfrase "mysql accept remote connections" legt dit alles (grants, toestaan remote connecties vanuit zowel MySQL alsook het systeem) in zijn geheel uit. Met enige "moeite" had je dit dus ook zelf uit kunnen vinden.
Daarbij lijkt het mij héél onverstandig om een user ALLE privileges te geven waarbij de database OVERAL VANDAAN benaderd kan worden. Er hoeft dan maar één lek ergens in jouw applicatiecode te zitten en dan is je database potentieel verloren. Ik zou je dan ook met klem aanraden om die grants aan te scherpen. Als je bijvoorbeeld enkel readonly toegang nodig hebt vanaf een specifiek IP, stel dat dan in.
Het eerste zoekresultaat voor de zoekfrase "mysql accept remote connections" legt dit alles (grants, toestaan remote connecties vanuit zowel MySQL alsook het systeem) in zijn geheel uit. Met enige "moeite" had je dit dus ook zelf uit kunnen vinden.
En wie zegt dat ik dit niet heb gevonden? Ik heb alle stappen uit die url al uitgevoerd. Dus ik kan wel zien je je er weinig verstand van hebt. Ik heb zo'n hekel aan kleine kinderen die denken exact te weten wat ik al onderzocht had en te weten wat de oplossing is, voordat ze de bug nagebootst hebben en met nuttige antwoorden komen. Dus voordat je denkt dat niemand enige moeite neemt, terwijl je er totaal geen benul van hebt, beter je vingertjes in je zak houden en niets intikken meer.
Ik ben er al uren mee bezig, zelfs alle toegangsrechten etc gegeven en alle stappen toegevoegd. Het is een grote bug en heb ik gerapporteerd.
Het is toch onzin dat externe toegang geven gewoon niet meer kan?
Ik heb 10.1.38-MariaDB
op de server word er naar 3306 geluisterd, dit zie ik met netstat -tln
3306 staat open via de csf firewall.
Ja zeker. Dat wil ik ook doen, maar ik wil alleen is het uit leergierigheid, weten waarom er steeds naar localhost gekeken word, terwijl ik alle stappen om remote access te bewerkstelligen gedaan heb, zonder success. Met CLI, rijg ik connection refused 111 ...
En wie zegt dat ik dit niet heb gevonden? Ik heb alle stappen uit die url al uitgevoerd. Dus ik kan wel zien je je er weinig verstand van hebt. Ik heb zo'n hekel aan kleine kinderen die denken exact te weten wat ik al onderzocht had en te weten wat de oplossing is, voordat ze de bug nagebootst hebben en met nuttige antwoorden komen. Dus voordat je denkt dat niemand enige moeite neemt, terwijl je er totaal geen benul van hebt, beter je vingertjes in je zak houden en niets intikken meer.
Whoa son. Hoe kunnen wij weten wat je al geprobeerd hebt? Je hebt klaarblijkelijk nog geen oorzaak gevonden. Het kan nooit kwaad om je stappen te traceren, vooral niet als je nog geen idee hebt was er misgaat. Nog voordat je aan een oplossing begint moet je weten wat er precies misgaat. Volgens mij heb je dat nog niet eens vastgesteld, je hebt enkel een symptoom.
Simpelweg omdat jij niet begrijpt wat er misgaat wil niet zeggen dat dit een "bug" is. Ik bedoel, legio mensen maken gebruik van dit spul zonder problemen. Hoe zelfingenomen en onwetend kun je zijn om maar te zeggen dat het een bug is als je er even -een paar uur is niets- niet uitkomt? Wie is er dan rechtstreeks naar conclusies aan het skippen? En als je niet de instrumenten hebt om een analyse te maken, denk daar dan eens over na.
Het enige wat ik je mee wil geven is dat je met een grote bek niet veel hulp zult krijgen hier.
Dit is mijn laatste reactie op topics van jou, want een korte tour langs jouw berichten laat bij mij de onuitwisbare indruk achter dat je een onverzadigbaar bodemloos vat bent waarbij goedbedoeld advies je nooit op een ander spoor brengt (als je uberhaupt reageert). Proberen te investeren in het vergroten van jouw inzicht is overduidelijk een complete tijdsverspilling.
Succes ermee.
PS
Dus ik kan wel zien je je er weinig verstand van hebt.
... zegt de persoon die een "root" user heeft die overal vandaan bereikbaar is.
Omdat je niet weet waar het misgaat is het een goed plan om mogelijkheden te elimineren zodat je snel je probleemgebied kleiner kunt maken en in kunt zoomen op de zere plek.
Gezien de serverinstellingen goed lijken te staan en het niet uitmaakt of je WAMP of iets anders gebruikt vermoed ik dat het uitgaande signaal ergens anders softwarematig (firewall, antivirusprogramma etc.) of hardwarematig (router firewall etc.) wordt geblokkeerd.
Dit vermoeden kun je verder onderzoeken/versterken door vanaf een andere remote locatie (verschillend van die waar de database aanwezig is) een verbinding te maken met die remote database. Als dat namelijk wel lukt dan houdt dit in dat:
- alles op de server met de remote database goed geconfigureerd is;
- het dus ergens mis gaat op jouw Windows 7 computer naar buiten toe.
Hiermee halveer je ook in één klap je zoekgebied.
En als dit niet lukt wordt het weer aannemelijker dat er toch iets niet goed is ingesteld op de remote server.
Zoek dus (in ieder geval) naar handvaten waarmee je dingen uit kunt sluiten.
Je zou voor de gein ook eens inhoudelijk kunnen kijken naar wat er concreet in je mysql.user en mysql.db tabellen zit, en of daar alles wel goed staat.