sql >> Databasteknik >  >> RDS >> Mysql

Fjärranslutningar Mysql Ubuntu

För att exponera MySQL för något annat än localhost måste du ha följande rad

För mysql version 5.6 och senare

okommenterad i /etc/mysql/my.cnf och tilldelas din dators IP-adress och inte loopback

För mysql version 5.7 och senare

okommenterad i /etc/mysql/mysql.conf.d/mysqld.cnf och tilldelas din dators IP-adress och inte loopback

#Replace xxx with your IP Address 
bind-address        = xxx.xxx.xxx.xxx

Eller lägg till enbind-address = 0.0.0.0 om du inte vill ange IP

Stoppa sedan och starta om MySQL med den nya my.cnf-posten. När du har kört, gå till terminalen och skriv in följande kommando.

lsof -i -P | grep :3306

Det borde komma tillbaka ungefär så här med din faktiska IP i xxx's

mysqld  1046  mysql  10u  IPv4  5203  0t0  TCP  xxx.xxx.xxx.xxx:3306 (LISTEN)

Om ovanstående uttalande returneras korrekt kommer du att kunna acceptera fjärranvändare. Men för att en fjärranvändare ska kunna ansluta med rätt privilegier måste du ha den användaren skapad i både localhost och '%' som i.

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

sedan,

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

och slutligen,

FLUSH PRIVILEGES; 
EXIT;

Om du inte har skapat samma användare som ovan, när du loggar lokalt kan du ärva basbehörighet för lokala värdar och få åtkomstproblem. Om du vill begränsa åtkomsten som minanvändare har måste du läsa om GRANT-satsens syntax HÄR Om du kommer igenom allt detta och fortfarande har problem, skriv några extra felmeddelanden och de lämpliga my.cnf-raderna.

OBS:Om lsof inte återvänder eller inte hittas kan du installera det HÄR baserat på din Linux-distribution. Du behöver inte lsof för att få saker att fungera, men det är extremt praktiskt när saker och ting inte fungerar som förväntat.

UPPDATERING:Om även efter att du har lagt till/ändrat bind-address i my.cnf inte fungerade, gå sedan och ändra det på den plats det ursprungligen deklarerades:

/etc/mysql/mariadb.conf.d/50-server.cnf


  1. Hur kan jag importera en JSON-fil till PostgreSQL?

  2. SQL BESTÄLLNING AV

  3. Undvik detta vanliga fel när du kör lagrad procedur i MS Access

  4. Konvertera PostgreSQL-array till PHP-array