Jeśli wykonasz normalną instalację MySQL na Debianie, zostanie on skonfigurowany tak, aby blokować połączenia zewnętrzne z bazą danych.
Oznacza to, że nadal musisz poinformować MySQL, że dostęp z zewnątrz jest w porządku. Aby to zrobić, musisz zaktualizować adres powiązania dla MySQL. Jest to skonfigurowane w my.cnf
, który w systemach opartych na Debianie znajduje się w /etc/mysql/my.cnf
.
Tam znajdź sekcję, która mówi
[mysqld]
Tam musisz upewnić się, że
- wiersz
skip-networking
jest albo skomentowany (komentarz zaczyna się od „#”), albo go nie ma, i - Adres powiązania jest ustawiony na
0.0.0.0
(co to jest, jeśli nie ma wiersza bind-address) lub do adresu IP twojego serwera.
Po wykonaniu tej czynności powinieneś ponownie uruchomić usługę MySQL. Następnie musisz utworzyć użytkownika, który ma dostęp zdalny. Można to zrobić za pomocą zapytania SQL:
GRANT ALL ON yourdatabase.* TO [email protected]'*' IDENTIFIED BY 'yourpassword';
Możesz zmienić gwiazdkę dla adresu IP, z którego będziesz się łączyć, jeśli jest za każdym razem taka sama.
Na koniec musisz otworzyć port 3306 (port, którego używa MySQL) na swoim firewallu. Zwykle nie jest to konieczne, ponieważ jest już otwarte w większości systemów, ale można to zrobić za pomocą następującego polecenia iptables.
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
service iptables save
Źródło:1