Mnoho webových stránek a aplikací hostí svůj webový server a databázový backend na stejném počítači. Některé organizace však přecházejí na distribuované prostředí. Samostatný databázový server může zlepšit výkon a zabezpečení hardwaru a umožňuje rychle škálovat prostředky.
V tomto tutoriálu vám ukážeme, jak povolit vzdálené připojení k databázi MySQL.
Předpoklady
- Nový Ubuntu 20.04 VPS s MySQL 8 nainstalovaným na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 20.04 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte ke svému serveru Ubuntu 20.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Konfigurace MySQL
Před spuštěním ověřte naslouchající připojení MySQL pomocí následujícího příkazu:
ss -tunlp | grep 3306
Měli byste získat následující výstup:
tcp LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=7753,fd=33))
Jak můžete vidět, MySQL server naslouchá na localhostu na portu 3306. To znamená, že MySQL server je přístupný pouze z localhostu.
Budete muset nakonfigurovat server MySQL tak, aby naslouchal externí IP adrese, kde je server dostupný.
Chcete-li to povolit, upravte soubor mysqld.cnf:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
Najděte následující řádek:
bind-address = 127.0.0.1
A nahraďte jej následujícím řádkem:
bind-address = 0.0.0.0
Po dokončení uložte a zavřete soubor, poté restartujte službu MySQL, aby se změny implementovaly:
systemctl restart mysql
V tomto okamžiku je server MySQL nakonfigurován tak, aby naslouchal na externí IP.
Krok 3 – Udělení přístupu uživateli ze vzdáleného systému
V této části vytvoříme novou databázi a databázového uživatele a udělíme přístup ke vzdálenému systému pro připojení k databázi.
Nejprve se přihlaste do prostředí MySQL pomocí následujícího příkazu:
mysql
Po přihlášení vytvořte databázi s názvem testdb a uživatele s názvem testuser pro vzdálený systém pomocí následujícího příkazu:
CREATE DATABASE testdb; CREATE USER 'testuser'@'remote-server-ip' IDENTIFIED BY 'password';
Dále udělte přístup ke vzdálenému systému (remote-server-ip), abyste se mohli připojit k databázi s názvem testdb jako testuser:
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'remote-server-ip';
Dále vyprázdněte oprávnění a ukončete prostředí MySQL pomocí následujícího příkazu:
FLUSH PRIVILEGES ; EXIT;
Ve výše uvedeném příkladu:
testdb :Název databáze.
testuser :Jméno uživatele.
ip-remote-server-ip :IP adresa vzdáleného systému.
Krok 4 – Ověřte připojení k databázi
V tomto okamžiku je MySQL nakonfigurováno tak, aby umožňovalo vzdálená připojení z IP remote-server-ip.
Nyní se přihlaste ke vzdálenému systému a připojte se k serveru MySQL pomocí následujícího příkazu:
mysql -u testuser -h remote-server-ip -p
Zadejte heslo pro testuser a stiskněte Enter. Pokud je vše správně nastaveno, budete se moci přihlásit ke vzdálenému serveru MySQL. Dále vypište databázi pomocí následujícího příkazu:
show databases;
Měli byste vidět následující výstup:
+--------------------+ | Database | +--------------------+ | information_schema | | testdb | +--------------------+ 2 rows in set (0.01 sec)
Závěr
Ve výše uvedené příručce jsme se naučili, jak povolit vzdálené připojení MySQL a udělit přístup ke vzdálenému systému pro připojení databáze, a nyní můžete hostovat svou aplikaci pomocí databáze hostované na vzdáleném serveru. Začněte se vzdáleným připojením MySQL na VPS Hosting od Atlantic.Net ještě dnes! Můžeme vám dokonce pomoci s vaší databází vyhovující HIPAA.