Úvod
V tradičním nasazení lidé často instalují server MySQL a používají jej ze stejného hostitele. Důrazně se však doporučuje, abychom oddělili server MySQL a klienta, k serveru MySQL by měl být přístup ze vzdáleného hostitele. Tato metoda pomáhá systému stát se bezpečnějším a zvyšuje výkon.
Aby byla výše uvedená metoda možná, musíme nakonfigurovat server MySQL tak, aby umožňoval vzdálené připojení z jeho klienta.
Nakonfigurujte server MySQL
Nejprve nakonfigurujeme server MySQL tak, aby naslouchal na předem definované IP nebo všech IP adresách na vašem serveru.
Pokud je MySQL server ve stejné síti jako klienti, měli byste nakonfigurovat naslouchací port na privátní IP.
Na druhou stranu, pokud se potřebujete připojit k serveru MySQL prostřednictvím veřejné sítě, nakonfigurujte server podle následující konfigurace:
Otevřete konfigurační soubor:
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Přejděte na řádek, který začíná bind-address
Ve výchozím nastavení je hodnota bind-address 127.0.0.1
Pokud chcete nastavit server MySQL tak, aby naslouchal na všech IP adresách, nakonfigurujte hodnotu bind-address =0.0.0.0
Aby se změna projevila, restartujeme službu MySQL:
$ sudo systemctl restart mysql
Udělit přístup uživateli ze vzdálených hostitelů
V této části vám ukážeme způsob, jak umožnit přístup k databázi vzdáleným uživatelům.
Přihlaste se k serveru MySQL:
$ sudo mysql
Potom,
mysql> GRANT ALL ON DATABASE-NAME.* TO [email protected] IDENTIFIED BY ‘USER-PASSWORD’;
Například:
mysql> GRANT ALL ON linuxways.* TO [email protected] IDENTIFIED BY ‘mysecuredpass’;
Konfigurace brány firewall
Server MySQL naslouchá na portu 3306. Chcete-li povolit provoz ze vzdálených hostitelů, musíte tento port otevřít. Můžete použít jednu z následujících metod:
iptables
$ sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
ufw
Pokud k otevření portu 3306 použijete ufw, můžete jednoduše spustit následující příkaz:
$ sudo ufw allow 3306/tcp
Závěr
Už jste si prošli podrobnosti o tom, jak povolit vzdálená připojení k serveru MySQL.
Pokud máte nějaké obavy, dejte mi prosím vědět. Děkuji za přečtení.