Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: MySQL connectie van buitenaf  (gelezen 1949 keer)

mPOS

  • Gast
MySQL connectie van buitenaf
« Gepost op: 2008/08/18, 15:09:03 »
Hallo,

Ik ben al een tijdje aan het proberen om vanaf een andere locatie connectie op te bouwen naar mijn mysql-servertje hier. Doel is dat ik vanaf een live werkende apache/mysql systeem regelmatig data over kan pompen naar een centraal back-up servertje.
Echter het lukt me niet om connectie te krijgen.

Wat heb ik geprobeerd?

1. mySQL configuratie: /etc/mysql/my.cnf
Gecontroleerd dat de poort op 3306 staat.
skip-networking is niet aanwezig.
bind-address gezet op lokale ip-adres (10.0.0.50)
In mijn router wordt poort 3306 geforward naar dit ip-adres.
Herstart mySQL: /etc/init.d/mysql restart

2. poort open gezet in iptables
iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT

3. rechten.
Linux: beide systemen zelfde gebruiker mpos met zelfde wachtwoord
MySQL: beide systemen gebruiker mpos, live-systeem heeft op de database geen wachtwoord, centrale server wel

4. Test a)
op de 'live'-machine in terminal de volgende commando gedaan:

mysql -u mpos -h xx.xx.xx.xxx -p
waar xx.xx.xx.xxx het externe ip adres van mijn internetverbinding is.
Ik krijg netjes de vraag om een wachtwoord, maar na  het invullen gebeurd er niks, ook geen foutmelding.

5. Test b)
simpel php-scriptje met connectie naar de database: krijg de foutmelding: access denied for user 'mpos'@'xx.xx.xx.xxx' (using password: YES).

6. /etc/hosts.allow
staat: 'mysqld: ALL'

Weet iemand wat ik over het hoofd zie, of dat ik wat fout doe?
Alvast bedankt voor het meedenken
Bronnen gebruikt:
linkje 1



Offline karlhungus

  • Lid
  • Steunpunt: Nee
MySQL connectie van buitenaf
« Reactie #1 Gepost op: 2008/08/18, 15:26:11 »
hoe heb je de gebruiker mpos aangemaakt ?

als je dat doet via de console dan log je in op je mysqlserver en dan wordt het een commando alla :
grant all on (jou databasenaam).* to 'mpos'@'localhost' identified by 'password';in dit geval kan de user mpos alleen lokaal contact maken met de database (zie localhost)
als je localhost veranderd in het ip adres waar je naartoe wil verbinden. dan zou het in theorie goed moeten komen volgens mij.

mPOS

  • Gast
MySQL connectie van buitenaf
« Reactie #2 Gepost op: 2008/08/18, 16:06:23 »
Ik had het volgende gedaan:

mysql> update db set Host='xx.xx.xx.xxx' where Db='database';
mysql> update user set Host='xx.xx.xx.xxx' where user='mpos';
waar xx.xx.xx.xxx mijn externe ip-adres is.

Dit werkt blijkbaar niet goed.

Ik heb nu het advies van karlhungus opgevolgd en dit gedaan:
verder heb ik een nieuwe gebruiker webadmin met wachtwoord 'wachtwoord' aangemaakt en de volgende commando uitgevoerd:

GRANT ALL ON * to 'webadmin'@'xx.xx.xx.xxx' IDENTIFIED BY 'wachtwoord';

en ik kreeg toegang.

Bedankt karl !

Offline karlhungus

  • Lid
  • Steunpunt: Nee
MySQL connectie van buitenaf
« Reactie #3 Gepost op: 2008/08/18, 16:11:54 »
nog even een detail. GRANT ALL is wel de makkelijkste maar niet de veiligste oplossing. je kan beter even kijken welke rechten je nodig hebt. mocht er een handige snuiter tussen zitten die je passwd te pakken krijgt dan is een drop database commando zo gegeven.

mPOS

  • Gast
MySQL connectie van buitenaf
« Reactie #4 Gepost op: 2008/08/18, 16:17:58 »
ik heb middels phpmyadmin de rechten van de gebruiker webadmin dusdanig aangepast.

accesshater

  • Gast
MySQL connectie van buitenaf
« Reactie #5 Gepost op: 2008/08/20, 08:53:13 »
Hey mPOS ik had dus hetzelfde probleem. Ik probeerde direct te verbinden met de mysqlserver maar dat ging niet omdat ik 3306 maar niet openkreeg en de andere poorten wel.

ik heb het opgelost door mysql op een andere poort in te stellen, in mijn geval heb ik mysql ingesteld op poort 3307 en dat werkte prima.

Snap nog steeds niet waarom ik poort 3306 open kreeg.