Azure Friday | Azure App Service with Hybrid Connections to On-premises Resources
Obsah:
- Konfigurace serveru MySQL
- Udělení přístupu uživateli ze vzdáleného počítače
- Konfigurace Firewallu
- Iptables
- UFW
- FirewallD
- Ověření změn
- Závěr
Ve výchozím nastavení server MySQL poslouchá připojení pouze z localhost, což znamená, že k němu mohou přistupovat pouze aplikace spuštěné na stejném hostiteli.
V některých situacích je však nutné přistupovat k serveru MySQL ze vzdáleného umístění. Například, pokud se chcete připojit ke vzdálenému serveru MySQL z místního systému nebo pokud používáte nasazení na více serverech, kde je aplikace spuštěna na jiném počítači než databázový server. Jednou z možností by byl přístup k serveru MySQL prostřednictvím tunelu SSH a další je konfigurace serveru MySQL tak, aby akceptoval vzdálená připojení.
V této příručce projdeme kroky nezbytné k umožnění vzdáleného připojení k serveru MySQL. Stejné pokyny platí pro MariaDB.
Konfigurace serveru MySQL
Prvním krokem je nastavení serveru MySQL tak, aby poslouchal konkrétní IP adresu nebo všechny IP adresy v počítači.
Pokud server MySQL a klienti mohou spolu komunikovat prostřednictvím soukromé sítě, pak nejlepší možností je nastavit server MySQL tak, aby poslouchal pouze na soukromé IP. V opačném případě, pokud se chcete připojit k serveru přes veřejnou síť, nastavte server MySQL tak, aby poslouchal na všech adresách IP v počítači.
Chcete-li to provést, musíte upravit konfigurační soubor MySQL a přidat nebo změnit hodnotu volby
bind-address
. Můžete nastavit jednu IP adresu a rozsahy IP. Pokud je adresa
0.0.0.0
, server MySQL přijímá připojení na všech hostitelských rozhraních IPv4. Pokud máte v systému nakonfigurován protokol IPv6, použijte namísto
0.0.0.0
použití
::
.
Umístění konfiguračního souboru MySQL se liší v závislosti na distribuci. V Ubuntu a Debianu je soubor umístěn na
/etc/mysql/mysql.conf.d/mysqld.cnf
, zatímco v distribucích založených na Red Hat, jako je CentOS, je soubor umístěn na
/etc/my.cnf
.
Otevřete soubor pomocí textového editoru:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Vyhledejte řádek začínající
bind-address
a nastavte jeho hodnotu na IP adresu, na které by měl server MySQL poslouchat.
Ve výchozím nastavení je tato hodnota nastavena na
127.0.0.1
(poslouchá pouze v localhost).
V tomto příkladu nastavíme server MySQL tak, aby poslouchal všechna rozhraní IPv4 změnou hodnoty na
0.0.0.0
bind-address = 0.0.0.0 # skip-networking
Pokud existuje řádek obsahující
skip-networking
, odstraňte jej nebo přidejte komentář na začátek řádku.
V MySQL 8.0 a vyšší nemusí být direktiva
bind-address
k dispozici. V takovém případě ji přidejte pod
sekce.
Po dokončení restartujte službu MySQL, aby se změny projevily. Restart služeb mohou provádět pouze root nebo uživatelé s právy sudo.
Chcete-li restartovat službu MySQL na Debianu nebo Ubuntu, zadejte:
sudo systemctl restart mysql
V distribucích založených na RedHat, jako je CentOS, restartujte provoz služby:
Udělení přístupu uživateli ze vzdáleného počítače
Dalším krokem je povolení přístupu k databázi vzdálenému uživateli.
Přihlaste se k MySQL serveru jako uživatel root zadáním:
sudo mysql
mysql -uroot -p
Z vnitřku prostředí MySQL použijte příkaz
GRANT
k udělení přístupu vzdálenému uživateli.
GRANT ALL ON database_name.* TO user_name@'ip_address' IDENTIFIED BY 'user_password';
Kde:
-
database_name
je název databáze, ke které se uživatel připojí.user_name
je jméno uživatele MySQL.ip_address
je IP adresa, ze které se uživatel připojí. Pomocí%
povolte uživateli připojení z libovolné adresy IP.user_password
je uživatelské heslo.
Chcete-li například udělit přístup k databázi
dbname
uživateli s názvem
foo
s heslem
my_passwd
z klientského počítače s IP
10.8.0.5
, měli byste spustit:
GRANT ALL ON dbname.* TO foo@'10.8.0.5' IDENTIFIED BY 'my_passwd';
Konfigurace Firewallu
Posledním krokem je konfigurace brány firewall tak, aby umožňovala provoz na portu
3306
(výchozí port MySQL) ze vzdálených počítačů.
Iptables
sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
Povolit přístup z konkrétní adresy IP:
sudo iptables -A INPUT -s 10.8.0.5 -p tcp --destination-port 3306 -j ACCEPT
UFW
UFW je výchozí nástroj brány firewall v Ubuntu. Chcete-li povolit přístup z libovolné adresy IP na Internetu (velmi nejistá), postupujte takto:
sudo ufw allow 3306/tcp
Povolit přístup z konkrétní adresy IP:
sudo ufw allow from 10.8.0.5 to any port 3306
FirewallD
FirewallD je výchozí nástroj pro správu brány firewall v CentOS. Chcete-li povolit přístup z libovolné adresy IP na Internetu (velmi nejistá), postupujte takto:
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
Chcete-li povolit přístup z konkrétní adresy IP na konkrétním portu, můžete buď vytvořit novou zónu FirewallD, nebo použít bohaté pravidlo. Vytvořte novou zónu s názvem
mysqlzone
:
sudo firewall-cmd --new-zone=mysqlzone --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlzone --add-source=10.8.0.5/32
sudo firewall-cmd --permanent --zone=mysqlzone --add-port=3306/tcp
sudo firewall-cmd --reload
Ověření změn
Chcete-li ověřit, zda se vzdálený uživatel může připojit k serveru MySQL, spusťte následující příkaz:
mysql -u user_name -h mysql_server_ip -p
Kde
user_name
je jméno uživatele, kterému jste udělili přístup, a
mysql_server_ip
je IP adresa hostitele, na kterém běží MySQL server.
Pokud je vše správně nastaveno, budete se moci přihlásit ke vzdálenému serveru MySQL.
ERROR 2003 (HY000): Can't connect to MySQL server on '10.8.0.5' (111)"
Níže uvedená chyba znamená, že uživatel, který se pokoušíte přihlásit, nemá oprávnění pro přístup ke vzdálenému serveru MySQL.
"ERROR 1130 (HY000): Host '10.8.0.5' is not allowed to connect to this MySQL server"
Závěr
MySQL, nejpopulárnější open-source databázový server ve výchozím nastavení, poslouchá příchozí připojení pouze na localhost.
Chcete-li povolit vzdálené připojení k serveru MySQL, musíte provést následující kroky:
- Nakonfigurujte server MySQL tak, aby poslouchal na všech nebo na konkrétním rozhraní. Poskytněte přístup vzdálenému uživateli. Otevřete port MySQL ve vaší bráně firewall.
Podle studie se 53 procent dotázaných domnívá, že rozšíření širokopásmového připojení není pro vládu Spojených států důležitou prioritou, nebo by nemělo být pokusil se vůbec. 65 procent však věří, že nedostatek širokopásmového připojení je nevýhodou, pokud jde o zjištění o pracovních příležitostech nebo o získání nových kariérních dovedností. 62 procent respondentů se domnívá, že nedostatek širokopásmového připojení je nevýhodou pro ty, kdo vyhledávají informace o zdravotním stavu, a 56 procent

Rozšíření přístupu k širokopásmovému připojení a zvýšení průměrné rychlosti širokopásmového připojení vyžadují investice vlády Spojených států. Je pochopitelné si myslet, že internet je frivolní a vláda má větší ryby na smažení - křehké zotavující se hospodářství, trvalá hrozba teroristického útoku, pokračující vojenské zakázky v Iráku a Afghánistánu, vysoká míra nezaměstnanosti a další. Národní širokopásmový plán je uvízl v začarovaném kruhu, kde je problém i řešení. Například hospodářská reces
Povolit a zakázat připojení ke vzdálené ploše v systému Windows 10

Naučte se zapnout, povolit, zakázat, Windows 10 PC. RDP poskytuje uživateli grafické rozhraní, když připojuje svůj počítač k jinému počítači
Jak nastavit a používat AutoVPN v systému Windows 10 pro vzdálené připojení

AutoVPN připojení v systému Windows 10 umožňuje přístup k pracovním zdrojům se vzdáleně připojují. Umožňuje bezpečnou komunikaci.