MySQL: You are not allowed to connect to this server

Permalänk

MySQL: You are not allowed to connect to this server

Jag har en användare vid namn "dell" för min dator är en Dell.
Jag kan enkelt komma in på min MySQL server om jag använder 'dell'@'localhost' eller 'dell'@'127.0.0.1'.

Men när jag använder datorns IP adress, dvs 192.168.1.219 så fungerar det inte. Varför inte det? Är det någon port jag måste använda? Just nu använde jag 3306 porten, vilken är standardporten i MySQL Workbench.

Jag kör Windows 7.

Permalänk
Vila i frid

Du måste tillåta remote-inlogg för användare "dell". Förmodligen är bara "localhost" tillåten (default) så du måste ändra det till "%" (tillåt allt och alla) för att tillåta att man kan logga in från stygga stora inter-webben.

Permalänk
Medlem
Skrivet av hasenfrasen:

Du måste tillåta remote-inlogg för användare "dell". Förmodligen är bara "localhost" tillåten (default) så du måste ändra det till "%" (tillåt allt och alla) för att tillåta att man kan logga in från stygga stora inter-webben.

Isåfall hade felet var permission/access denied.
I detta fallet tror jag problemet är att MySQL binder till 127.0.0.1, @heretic16 leta upp din config och kommentera ut bind-address eller liknande rad. Notera att du då tillåter anslutningar från alla som kan nå servern, vilket inte är best practice.

Permalänk
Skrivet av hasenfrasen:

Du måste tillåta remote-inlogg för användare "dell". Förmodligen är bara "localhost" tillåten (default) så du måste ändra det till "%" (tillåt allt och alla) för att tillåta att man kan logga in från stygga stora inter-webben.

Skrivet av Xcorp:

Isåfall hade felet var permission/access denied.
I detta fallet tror jag problemet är att MySQL binder till 127.0.0.1, @heretic16 leta upp din config och kommentera ut bind-address eller liknande rad. Notera att du då tillåter anslutningar från alla som kan nå servern, vilket inte är best practice.

Problemet är att jag in princip måste använda MySQL för det är den enda som har god support + fri licens + lösenordskydd. Det är inte så att man kan undvika att modifera en konfigurationsfil manuellt, utan man kan göra en grafisk inställning?

Permalänk
Vila i frid

Default binder den till alla interface. Man bör vara uppmärksam på att det finns en inbyggd IP-blockering i MySQL som måste låsas upp manuellt.

Permalänk
Medlem
Skrivet av heretic16:

Problemet är att jag in princip måste använda MySQL för det är den enda som har god support + fri licens + lösenordskydd. Det är inte så att man kan undvika att modifera en konfigurationsfil manuellt, utan man kan göra en grafisk inställning?

Det kan gå att ändra från MySQL Workbench, men du ska inte vara rädd att ändra i konfigurationsfilen, då kommer du ha svårt att gå vidare med ditt projekt...

Skrivet av hasenfrasen:

Default binder den till alla interface. Man bör vara uppmärksam på att det finns en inbyggd IP-blockering i MySQL som måste låsas upp manuellt.

Det är väldigt många år sedan jag körde MySQL på Windows, men default i alla Debian-derivat jag använt, och även CentOS om jag inte minns helt fel är bind-address=127.0.0.1

Permalänk

Om det finns bättre databashantering så är jag öppen för förslag. Jag tycker att MySQL fungerar fint, men jag har alltid har problem med det.

Permalänk
Medlem
Skrivet av heretic16:

Om det finns bättre databashantering så är jag öppen för förslag. Jag tycker att MySQL fungerar fint, men jag har alltid har problem med det.

Beroende på syfte, storlek på databaser, belastning, plattform etc så kan Microsoft SQL Server Express vara ett alternativ (lättanvänt och gratis). Lämpligtvis provar du den senaste versionen SQL Server 2017 Express

Följer inte Microsoft SQL Server Management Studio med för att administrera databaserna så ladda hem den separat (också gratis).

Överkurs: Om du sedan behöver tweaka performance och automatisera/schemalägga backup jobb etc är Ola Hallengrens skript exceptionellt bra och används mycket i hela världen (också gratis):
https://ola.hallengren.com/

Permalänk
Skrivet av makatech:

Beroende på syfte, storlek på databaser, belastning, plattform etc så kan Microsoft SQL Server Express vara ett alternativ (lättanvänt och gratis). Lämpligtvis provar du den senaste versionen SQL Server 2017 Express

Följer inte Microsoft SQL Server Management Studio med för att administrera databaserna så ladda hem den separat (också gratis).

Överkurs: Om du sedan behöver tweaka performance och automatisera/schemalägga backup jobb etc är Ola Hallengrens skript exceptionellt bra och används mycket i hela världen (också gratis):
https://ola.hallengren.com/

MSSQL finns endast för Windows. Tyvärr.
Dessutom om man ska använda det kommersiellt så kostar det pengar.

Permalänk
Medlem
Skrivet av heretic16:

MSSQL finns endast för Windows. Tyvärr.
Dessutom om man ska använda det kommersiellt så kostar det pengar.

Läste dåligt tyvärr, visste inte att Windows inte var ok.

Tror man får använda Express varianten kommersiellt (?) har du någon källa på detta påstående?

Permalänk
Vila i frid
Skrivet av Xcorp:

default i alla Debian-derivat jag använt, och även CentOS om jag inte minns helt fel är bind-address=127.0.0.1

Det stämmer för debian. För windows är det 0.0.0.0 dvs bundet till alla interface.

Citat: "As found on MSDN, you can use SQL Server Express Edition in production environment but you have to consider some technical limitations: maximum of 1 processor, up to 4 cores allowed. maximum memory utilized (per instance of SQL Server Database Engine) 1GB. maximum relational Database size 10GB."

Permalänk
Skrivet av makatech:

Läste dåligt tyvärr, visste inte att Windows inte var ok.

Tror man får använda Express varianten kommersiellt (?) har du någon källa på detta påstående?

Visst är Windows fint. Men då får man betala också. MySQL är nämligen helt gratis och det finns inga begränsingar. Det är därför MySQL är #2 mest använda databas i världen

Jag tror inte att man får använda expressvarianten kommersiellt med tanke på att då skulle många företag använda den.

Permalänk
Skrivet av hasenfrasen:

Det stämmer för debian. För windows är det 0.0.0.0 dvs bundet till alla interface.

Citat: "As found on MSDN, you can use SQL Server Express Edition in production environment but you have to consider some technical limitations: maximum of 1 processor, up to 4 cores allowed. maximum memory utilized (per instance of SQL Server Database Engine) 1GB. maximum relational Database size 10GB."

Exakt! Lika väl som Oracle Database. Den är också gratis, men den har begränsningar. Inte kul för snålisar som jag

Men då får jag använda mig utav MySQL. Hur ändrar man bin adressen?

Permalänk
Medlem
Skrivet av hasenfrasen:

Det stämmer för debian. För windows är det 0.0.0.0 dvs bundet till alla interface.

Citat: "As found on MSDN, you can use SQL Server Express Edition in production environment but you have to consider some technical limitations: maximum of 1 processor, up to 4 cores allowed. maximum memory utilized (per instance of SQL Server Database Engine) 1GB. maximum relational Database size 10GB."

Exakt det går alldeles utmärkt att köra SQL Server Express Edition skarpt/kommersiellt under de tekniska begränsningar du nämner vilket i och för sig är relativt kraftiga begränsingar per instans men det handlar extremt mycket om vad det är fråga om för databas... storlek, last etc, etc

MariaDB är väl dock ett bra alternativ till MySQL?
https://mariadb.org/

"About MariaDB
One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source."

Permalänk
Skrivet av makatech:

Exakt det går alldeles utmärkt att köra SQL Server Express Edition skarpt/kommersiellt under de tekniska begränsningar du nämner vilket i och för sig är relativt kraftiga begränsingar per instans men det handlar extremt mycket om vad det är fråga om för databas... storlek, last etc, etc

MariaDB är väl dock ett bra alternativ till MySQL?
https://mariadb.org/

"About MariaDB
One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source."

Så vad finns det för motivering att använda MariaDB än MySQL?

Permalänk
Medlem
Skrivet av heretic16:

Exakt! Lika väl som Oracle Database. Den är också gratis, men den har begränsningar. Inte kul för snålisar som jag

Men då får jag använda mig utav MySQL. Hur ändrar man bin adressen?

Precis som jag skrev i andra inlägget, leta upp rätt rad i configen, hur du ändrar beror på hur du installerat MySQL. Har du installerat separat ligger C:\ProgramData\MySQL\MySQL Server 5.7\my.ini (beroende på version av MySQL såklart), kör du WAMP eller liknande så kolla i installationskatalogen

Skrivet av makatech:

Exakt det går alldeles utmärkt att köra SQL Server Express Edition skarpt/kommersiellt under de tekniska begränsningar du nämner vilket i och för sig är relativt kraftiga begränsingar per instans men det handlar extremt mycket om vad det är fråga om för databas... storlek, last etc, etc

MariaDB är väl dock ett bra alternativ till MySQL?
https://mariadb.org/

"About MariaDB
One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source."

MariaDB och MySQL är i många hänseenden samma sak och Linuxvärlden menar man ofta MariaDB när man pratar om MySQL.
Jag har till och med för mig att Ubuntu i någon release installerade MariaDB om du bara installerade mysql-server utan att speca version.

Permalänk
Medlem
Skrivet av heretic16:

Så vad finns det för motivering att använda MariaDB än MySQL?

Väldigt kort svar, när Oracle köpte upp Sun och därmed MySQL så var det många av utvecklarna som inte var nöjda med det rent politiskt och forkade MySQL till MariaDB. Nu finns det två versioner av MariaDB, en som följer MySQL och är binary-compatible, dvs du kan byta ut binären men behålla alla datafiler. Och en som heter MariaDB-10 som har nya features och som inte är helt bakåtkompatibel om du använder dom.

Är det superviktigt att du vill ha support på databasen så kör med MySQL, men då enterprise edition. Annars kör MariaDB, det finns support till den också, men vet inte hur/vem som levererar.

Permalänk
Medlem
Skrivet av heretic16:

MSSQL finns endast för Windows. Tyvärr.
Dessutom om man ska använda det kommersiellt så kostar det pengar.

mssql finns ju till linux också...

Visa signatur

Citera om du vill ha svar :)

Permalänk
Medlem

@heretic16: Om du försöker ansluta mot din dator lokalt, du kör alltså din mysql på samma ip, i det här fallet 192.168.1.219 så ta då och lägg till att du får ansluta från det ip't eller kanske t.o.m. 192.168.1.x. Öppna inte upp "större" än vad du behöver. https://stackoverflow.com/questions/11742963/how-to-grant-rem...

Gällande att byta till något annat så skit i det. Om du känner dig bekväm med mysql så kör på det. Det är rätt uppenbart att "det"/du inte är/har ett företag som det handlar om som har råd att köpa support i vilket fall som helst. Så utveckla/använd dig av mysql så länge. Om det senare handlar om att börja tjäna pengar på det hela så är det bara att flytta över databasen till något annat. Finns bra verktyg för det och är absolut inga problem. Om du nu möjligen inte använder dig av avancerade "stored procedures och triggers" och liknande men med tanke på din fråga så är det ett tag kvar tills dess

Permalänk
Skrivet av Xcorp:

Precis som jag skrev i andra inlägget, leta upp rätt rad i configen, hur du ändrar beror på hur du installerat MySQL. Har du installerat separat ligger C:\ProgramData\MySQL\MySQL Server 5.7\my.ini (beroende på version av MySQL såklart), kör du WAMP eller liknande så kolla i installationskatalogen

MariaDB och MySQL är i många hänseenden samma sak och Linuxvärlden menar man ofta MariaDB när man pratar om MySQL.
Jag har till och med för mig att Ubuntu i någon release installerade MariaDB om du bara installerade mysql-server utan att speca version.

Jag hittar inte någon bind-address=127.0.0.1 på min mysql.

Kanske är det att jag måste skapa en användare vid namn dell@192.168.1.74 ?

Permalänk
Skrivet av ToddTheOdd:

@heretic16: Om du försöker ansluta mot din dator lokalt, du kör alltså din mysql på samma ip, i det här fallet 192.168.1.219 så ta då och lägg till att du får ansluta från det ip't eller kanske t.o.m. 192.168.1.x. Öppna inte upp "större" än vad du behöver. https://stackoverflow.com/questions/11742963/how-to-grant-rem...

Gällande att byta till något annat så skit i det. Om du känner dig bekväm med mysql så kör på det. Det är rätt uppenbart att "det"/du inte är/har ett företag som det handlar om som har råd att köpa support i vilket fall som helst. Så utveckla/använd dig av mysql så länge. Om det senare handlar om att börja tjäna pengar på det hela så är det bara att flytta över databasen till något annat. Finns bra verktyg för det och är absolut inga problem. Om du nu möjligen inte använder dig av avancerade "stored procedures och triggers" och liknande men med tanke på din fråga så är det ett tag kvar tills dess

Men jag har en användare som heter dell@localhost . Kanske jag ska göra så att det finns två användare som heter dell@localhost och dell@192.168.1.219 ?

Permalänk
Vila i frid

Alltså lixom, kika lite i manualen hur du ställer in att en användare skall få logga in från annat än localhost - som jag beskrev i mitt allra första inlägg. Hittar du ingen bind-adress i configgen är det default, dvs den binder till alla interface dvs 0.0.0.0 (under windows) och port 3306. Se även till att 3306 är öppnat i windows brandvägg.

// lite användbara netsh kommandon // omdirigerar port 80 till 3306 netsh interface portproxy add v4tov4 listenport=80 listenaddress=10.2.0.5 connectport=3306 connectaddress=10.2.0.5 // öppna lite portar netsh advfirewall firewall add rule name="p80" protocol=TCP dir=in localip=10.2.0.5 localport=80 action=allow netsh advfirewall firewall add rule name="p443" protocol=TCP dir=in localip=10.2.0.5 localport=443 action=allow netsh advfirewall firewall add rule name="p3306" protocol=TCP dir=in localip=10.2.0.5 localport=3306 action=allow netsh interface portproxy show all netsh interface portproxy dump netsh interface portproxy delete v4tov4 listenport=80 listenaddress=10.2.0.5 netsh interface portproxy delete v4tov4 listenport=443 listenaddress=10.2.0.5 netsh interface portproxy delete v4tov4 listenport=3306 listenaddress=10.2.0.5 // ta bort 80 till 3306 netsh interface portproxy reset

Dold text
Permalänk
Medlem
Skrivet av heretic16:

Men jag har en användare som heter dell@localhost . Kanske jag ska göra så att det finns två användare som heter dell@localhost och dell@192.168.1.219 ?

Du kan skapa en dell@% för att kunna logga in från alla ipadresser också.

GRANT ALL PRIVILEGES ON *.* TO 'dell'@'%' IDENTIFIED BY 'newpassword';

Skickades från m.sweclockers.com

Visa signatur

Intel Core i7 6700K | Gigabyte Z170X-UD3 | Corsair Vengeance LPX 16GB DDR4 2400Mhz | EVGA GTX 980Ti Hybrid | Samsung 950 PRO 256GB | Noctua NH-D15 | EVGA G2 750 | Fractal Design Define R5

Permalänk
Skrivet av hasenfrasen:

Alltså lixom, kika lite i manualen hur du ställer in att en användare skall få logga in från annat än localhost - som jag beskrev i mitt allra första inlägg. Hittar du ingen bind-adress i configgen är det default, dvs den binder till alla interface dvs 0.0.0.0 (under windows) och port 3306. Se även till att 3306 är öppnat i windows brandvägg.

Jag hittar ingen bind-address. Men då borde dell@192.168.1.219 fungera ? lika väl som dell@192.168.1.219, som inte finns.

Permalänk
Medlem

@heretic16: Ta och börja med att läsa svaren du fått och pröva de saker folk har föreslagit. Det verkar som du gör som många andra och bara läser typ början eller hakar upp dig på sista delen av ett inlägg och sedan springer du vidare. Skit i bind. Det är inte det som det handlar om vilket du redan har fått förklarat för dig.

Hur har du installerat? Vad har du för kunskaper om hur en databas fungerar? Har du läst instruktionerna för hur man ska göra eller tryckte du bara på nästa/next vid varje fråga du fick under installationen?

Permalänk
Skrivet av Zajin:

Du kan skapa en dell@% för att kunna logga in från alla ipadresser också.

GRANT ALL PRIVILEGES ON *.* TO 'dell'@'%' IDENTIFIED BY 'newpassword';

Skickades från m.sweclockers.com

GRANT ALL PRIVILEGES ON *.* TO 'dell'@'%' IDENTIFIED BY PASSWORD '1234';

Detta ger mig syntax error. Vet ej varför.

EDIT:
Nu vet jag. Lösenordet är redan skapat för 'dell'@'localhost'.

Permalänk
Skrivet av ToddTheOdd:

Hur har du installerat? Vad har du för kunskaper om hur en databas fungerar? Har du läst instruktionerna för hur man ska göra eller tryckte du bara på nästa/next vid varje fråga du fick under installationen?

Jag har installerat MySQL på Windows som en rekommenderad installation. Jag har byggt många databaser i Linux, men i Windows verkar det vara svårare.

Jag har läst mycket. Funderar...

Permalänk

Nu har jag fått det att fungera. Lösningen var att använda det grafiska verktyget istället.

Vad betyder port 3306? Port 80 är ju för hemsidor och 8080 är ju lokala porten.

Permalänk
Medlem
Skrivet av heretic16:

Nu har jag fått det att fungera. Lösningen var att använda det grafiska verktyget istället.

Vad betyder port 3306? Port 80 är ju för hemsidor och 8080 är ju lokala porten.

http://bfy.tw/L8hD

Permalänk
Vila i frid
Skrivet av heretic16:

Vad betyder port 3306? Port 80 är ju för hemsidor och 8080 är ju lokala porten.

Vissa "säkerhetsmedvetna" företag tillåter oftast enbart port 80 och 443 på utgående trafik och inga andra. På en av servrarna jag meckar med omdirigeras inkommande MySQL från 80 till 3306 och MSSQL från 443 till 1433 medans de internt på servern svarar på de vanliga 3306 och 1433 - detta för att komma runt ett större företags IT-säkerhetspolicy (som vi diskuterat i över ett 1/2 års tid utan framgång) och uppnå det kunden vill. Att göra på detta sättet hade man inget att invända mot, huvudsaken att TLS användes. Alla har inte tid och pengar att porta gamla antika program till web-tjänster.