Om du gör en normal installation av MySQL på Debian kommer den att konfigureras för att blockera externa anslutningar till databasen.
Det betyder att du fortfarande måste berätta för MySQL att extern åtkomst är OK. För att göra detta måste du uppdatera bindningsadressen för MySQL. Detta är konfigurerat i my.cnf
, som på Debianbaserade system finns i /etc/mysql/my.cnf
.
Där hittar du avsnittet som säger
[mysqld]
Där inne måste du se till att
- raden
skip-networking
är antingen kommenterad (kommentarer börjar med ett '#') eller inte där, och - Bind-adress är inställd på antingen
0.0.0.0
(vilket det är om det inte finns någon linjebindningsadress) eller till din servers IP-adress.
När du har gjort detta bör du starta om din MySQL-tjänst. Sedan måste du skapa en användare som tillåts fjärråtkomst. Detta kan göras med en SQL-fråga:
GRANT ALL ON yourdatabase.* TO [email protected]'*' IDENTIFIED BY 'yourpassword';
Du kan byta ut asterisken för IP-adressen du ska ansluta från, om den är densamma varje gång.
Slutligen måste du öppna port 3306 (porten som MySQL använder) på din brandvägg. Detta är vanligtvis inte nödvändigt eftersom det redan är öppet på de flesta system, men det kan göras med följande iptables-kommando.
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
service iptables save
Källa:1