GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak povolit vzdálená připojení k MySQL

Úvod

Není neobvyklé hostovat databáze a webové servery na stejném místním počítači. Mnoho organizací však nyní přechází na distribuovanější prostředí.

Samostatný databázový server může zlepšit zabezpečení, výkon hardwaru a umožní vám rychle škálovat prostředky. V takových případech použití je prioritou naučit se efektivně spravovat vzdálené zdroje.

Tento kurz ukazuje, jak povolit vzdálená připojení k databázi MySQL.

Předpoklady

  • Přístup k oknu terminálu/příkazovému řádku
  • Vzdálený server MySQL
  • Sudo nebo root oprávnění na místních a vzdálených počítačích

Vzdálené připojení k serveru MySQL

Povolení připojení ke vzdálenému serveru MySQL se nastavuje ve 3 krocích:

  1. Upravit konfigurační soubor MySQL
  2. Nakonfigurujte bránu firewall
  3. Připojte se ke vzdálenému serveru MySQL

Krok 1:Upravte konfigurační soubor MySQL

1.1 Přístup k souboru mysqld.cnf

Pomocí preferovaného textového editoru otevřete soubor mysqld.cnf soubor. Tento příklad používá textový editor nano v Ubuntu 18.04. Chcete-li získat přístup ke konfiguračnímu souboru serveru MySQL, zadejte do rozhraní příkazového řádku následující příkaz:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Umístění souboru se může lišit v závislosti na distribuci a používané verzi. Pokud konfigurační soubor MySQL není jeho výchozí umístění, zkuste použít Linux find příkaz k jeho detekci.

1.2 Změna Bind-Address IP

Nyní máte přístup ke konfiguračnímu souboru serveru MySQL. Přejděte dolů na bind-address řádek a změňte IP adresu. Aktuální výchozí IP adresa je nastavena na 127.0.0.1. Tato IP omezuje připojení MySQL k místnímu počítači.

Nová IP by měla odpovídat adrese počítače, který potřebuje vzdálený přístup k serveru MySQL. Pokud například navážete MySQL na 0.0.0.0, pak se k němu může připojit jakýkoli počítač, který dosáhne serveru MySQL.

Jakmile provedete potřebné změny, uložte a ukončete konfigurační soubor.

1.3 Restartujte službu MySQL

Aplikujte změny provedené v konfiguračním souboru MySQL restartováním služby MySQL:

sudo systemctl restart mysql

Dále je třeba upravit vaše aktuální nastavení brány firewall, aby umožňoval provoz na výchozí port MySQL.

Krok 2:Nastavte bránu firewall tak, aby umožňovala vzdálené připojení MySQL

Při úpravách konfiguračního souboru jste si pravděpodobně všimli, že výchozí port MySQL je 3306 .

Pokud jste již nakonfigurovali bránu firewall na serveru MySQL, musíte otevřít provoz pro tento konkrétní port. Postupujte podle pokynů níže, které odpovídají používané službě brány firewall.

Možnost 1:UFW (Uncomplicated Firewall)

UFW je výchozí nástroj brány firewall v Ubuntu. V okně terminálu zadejte následující příkaz pro povolení provozu a shodu IP a portu:

sudo ufw allow from remote_ip_address to any port 3306

Systém potvrdí, že pravidla byla úspěšně aktualizována.

Možnost 2:FirewallD

Nástroj pro správu firewallu v CentOS používá zóny diktovat, jaký provoz má být povolen.

Vytvořte novou zónu pro nastavení pravidel pro provoz serveru MySQL. Název zóny v našem příkladu je mysqlrule a použili jsme IP adresu z našeho předchozího příkladu 133.155.44.103 :

sudo firewall-cmd --new-zone=mysqlrule --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlrule --add-source=133.155.44.103
sudo firewall-cmd --permanent --zone=mysqlrule --add-port=3306/tcp
sudo firewall-cmd --reload

Úspěšně jste otevřeli port 3306 na vašem firewallu.

Možnost 3:Otevřete port 3306 pomocí iptables

iptables Tento nástroj je standardně dostupný na většině distribucí Linuxu. Zadejte následující příkaz pro otevření portu MySQL 3306 pro neomezený provoz:

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Chcete-li omezit přístup na konkrétní IP adresu, použijte místo toho následující příkaz:

sudo iptables -A INPUT -p tcp -s 133.155.44.103 --dport 3306 -j ACCEPT

Tento příkaz uděluje přístup k 133.155.44.103. Budete ji muset nahradit IP pro vaše vzdálené připojení.

Je nutné uložit změny provedené v pravidlech iptables. V distribuci založené na Ubuntu zadejte následující příkazy:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Zadejte následující příkaz pro uložení nových pravidel iptables v CentOS:

service iptables save

Krok 3:Připojte se ke vzdálenému serveru MySQL

Váš vzdálený server je nyní připraven přijímat připojení. K navázání spojení se vzdáleným serverem MySQL použijte následující příkaz:

mysql -u username -h mysql_server_ip -p

-u username v příkazu představuje vaše uživatelské jméno MySQL. -h mysql_server_ip je IP nebo název hostitele vašeho serveru MySQL. -p volba vás vyzve k zadání hesla pro uživatelské jméno MySQL.

Měli byste vidět výstup podobný tomu níže:

Connection to mysql_server_ip 3306 port [tcp/mysql] succeeded!

Jak udělit vzdálený přístup k nové databázi MySQL?

Pokud ještě nemáte žádné databáze, můžete snadno vytvořit databázi zadáním následujícího příkazu do prostředí MySQL:

CREATE DATABASE ‘yourDB’;

Chcete-li udělit vzdálenému uživateli přístup ke konkrétní databázi:

GRANT ALL PRIVILEGES ON yourDB.* TO [email protected]’133.155.44.103’ IDENTIFIED BY ‘password1’;

Název databáze, uživatelské jméno, vzdálená IP a heslo musí odpovídat informacím, které chcete použít pro vzdálené připojení.

Jak udělit vzdálený přístup ke stávající databázi MySQL

Udělení vzdáleného přístupu uživateli k existující databázi vyžaduje sadu dvou příkazů:

update db set Host=’133.155.44.103' where Db='yourDB';
update user set Host=’133.155.44.103' where user='user1';

Uživatel1 má nyní přístup k vaší databázi ze vzdáleného umístění identifikovaného pomocí IP 133.155.44.103 .


Ubuntu
  1. Jak obnovit heslo root MySQL

  2. Jak nainstalovat MySQL Server na Debian 9

  3. Jak povolit vzdálené připojení k databázovému serveru MySQL

  1. Jak nainstalovat MySQL 8.0 / 5.7 na Debian 11 / Debian 10

  2. Jak nainstalovat MySQL Server na CentOS 7

  3. Jak nainstalovat MySQL Server na Ubuntu 16.04

  1. Jak nainstalovat MySQL Server na Ubuntu 17.04

  2. Jak nainstalovat MySQL na Linux Mint 19

  3. Jak nainstalovat MySQL na Ubuntu 16.04