Sida 1 av 1

Komma åt mysql databas??

Postat: 27 feb 2012, 19:31
av pettan_69
Hej,

Vet inte om jag blir idiotförklarad nu ??? , men jag har ett problem som jag hoppas någon kan hjälpa mig med.
Har satt igång en minecraft server på en Ubuntu dator och denna server har ett par plugin som skriver data till en mysql server som jag har skapat. Allt fungerar perfekt och server tickar på fint och data skrivs till databasen.

Det är första gången jag skapat en sql databas och jag blev nu nyfiken på om hur jag kan analysera datan som finns i databasen från min Ubuntu dator (alltså inte minecraft servern, utan en annan burk).

Jag installerade två program som heter "mysql administrator" och "mysql query browser", men när jag försöker connecta mot databsen på min server går ej detta. Se bifogad bild på felmeddelandet!

Borde inte detta vara fullt möjligt att koppla upp sig mot en mysql databas från en annan dator, eller vad är det jag inte förstår??

Tack på förhand för lite hjälp!

Re: Komma åt mysql databas??

Postat: 27 feb 2012, 23:22
av mcNisse
Hej

Till att börja med gäller det att du hittar vilken port som mysqlservern lyssnar på. Det är inte självklart att den lyssnar på defaultporten, 3306. Det är inte ens säkert att servern lyssnar på den externa ipadressen, den kan binda till den loopback interfacet (oftast 127.0.0.1).

Du behöver logga in på servern och hitta konfigurationsfilen, my.cnf eller my.conf (kommer inte ihåg exakt vad den heter :-[ ). Den egentligen heta vad som helst det är startskriptet som pekar ut konfigurationen.

Sedan om du konfigurerar om servern så att du kan komma åt den utifrån är det inte säkert att du får komma åt servern från en annan server i alla fall. Du måste 'granta' rättigheter till användaren. Starta mysql kommandoprompten och skriv in ett lämpligt grant statement... http://dev.mysql.com/doc/refman/5.1/en/grant.html

Detta är det slöa sättet och inte speciellt säkert. Läs igenom länken jag skrev ovan så kan du se alla möjligheter som finns.

Kod: Markera allt

grant all on *.* to 'minecraft'@'%';

Re: Komma åt mysql databas??

Postat: 28 feb 2012, 00:00
av pettan_69
Tack för hjälpen!
Jag har redan "grantat" alla när jag skapade databasen.

Däremot hittade jag i my.cnf:
bind-address = 127.0.0.1

Detta betyder väl att databasen endast är tillgänglig på localhost?
Kan jag ändra detta så den är tillgänglig i mitt nät?
192.168.0.0/24 eller vad skriver jag istället för 127.0.0.1?

/P
mcNisse skrev:Hej

Till att börja med gäller det att du hittar vilken port som mysqlservern lyssnar på. Det är inte självklart att den lyssnar på defaultporten, 3306. Det är inte ens säkert att servern lyssnar på den externa ipadressen, den kan binda till den loopback interfacet (oftast 127.0.0.1).

Du behöver logga in på servern och hitta konfigurationsfilen, my.cnf eller my.conf (kommer inte ihåg exakt vad den heter :-[ ). Den egentligen heta vad som helst det är startskriptet som pekar ut konfigurationen.

Sedan om du konfigurerar om servern så att du kan komma åt den utifrån är det inte säkert att du får komma åt servern från en annan server i alla fall. Du måste 'granta' rättigheter till användaren. Starta mysql kommandoprompten och skriv in ett lämpligt grant statement... http://dev.mysql.com/doc/refman/5.1/en/grant.html

Detta är det slöa sättet och inte speciellt säkert. Läs igenom länken jag skrev ovan så kan du se alla möjligheter som finns.

Kod: Markera allt

grant all on *.* to 'minecraft'@'%';

Re: Komma åt mysql databas??

Postat: 28 feb 2012, 00:10
av mcNisse
Du kan binda till den externa adressen 192.168.0.122.

edit. ja, det betyder att du bara kommer åt mysql servern från localhost.

Re: Komma åt mysql databas??

Postat: 28 feb 2012, 00:21
av pettan_69
Ursäkta min okunskap, men kan jag ta bort 127.0.0.1?
Pajar jag inget för lokal användning av databasen?

edit:
Ändrade 127.0.0.1 till det lokala IP-numret 192.168.0.122, så nu fungerar det fin-fint.
Tusen tack för hjälpen!

/P

mcNisse skrev:Du kan binda till den externa adressen 192.168.0.122.

edit. ja, det betyder att du bara kommer åt mysql servern från localhost.

Re: Komma åt mysql databas??

Postat: 28 feb 2012, 23:00
av pettan_69
Hej mcNisse,

Jag ändrade bind-adressen från localhost till 192.168.0.122 och då gick det bra att komma åt databasen från min andra dator.
Däremot slutade minecraft pluginen att prata med databasen, då konfigurationsfilen var satt att peka på localhost. Jag ändrade detta till 192.168.0.122 också så fungerade det, men av nyfikenhet så undrar jag om det skulle gå att behålla localhost här samtidigt som man binder 192.168.0.122??

/Peter
mcNisse skrev:Du kan binda till den externa adressen 192.168.0.122.

edit. ja, det betyder att du bara kommer åt mysql servern från localhost.

Re: Komma åt mysql databas??

Postat: 28 feb 2012, 23:37
av mcNisse
Nu har jag läst på lite. Du kan skippa bindadressen helt, det gör att det binder till alla interface, http://dev.mysql.com/doc/refman/5.1/en/ ... nd-address
If no address or 0.0.0.0 is specified, the server listens on all interfaces.
Detta innebär att om du anger 0.0.0.0 eller ingen bindadress så binder den till alla interface som är tillgängliga, dvs både till localhost och den externa adressen.

Re: Komma åt mysql databas??

Postat: 28 feb 2012, 23:40
av pettan_69
Tack så jättemycket! :D

/Peter
mcNisse skrev:Nu har jag läst på lite. Du kan skippa bindadressen helt, det gör att det binder till alla interface, http://dev.mysql.com/doc/refman/5.1/en/ ... nd-address
If no address or 0.0.0.0 is specified, the server listens on all interfaces.
Detta innebär att om du anger 0.0.0.0 eller ingen bindadress så binder den till alla interface som är tillgängliga, dvs både till localhost och den externa adressen.