sql >> Databáze >  >> RDS >> Mysql

Vzdálené připojení k MySQL

Toto je pokročilý tutoriál. Pozor! Nemůžeme poskytnout žádnou pomoc pro tento proces ani nemůžeme pomoci s žádnými problémy, které jsou tím způsobeny. Než budete pokračovat, nezapomeňte provést zálohu celého serveru!

Někdy může být užitečné povolit vzdálená připojení k MySQL. To vám umožní přímo se připojit k MySQL na jednom z vašich serverů z aplikace nebo klienta MySQL běžícího na jiném systému.

Existují dva různé způsoby vzdáleného přístupu k MySQL:

  1. Použití tunelu SSH.
  2. Povolení přímého přístupu k MySQL ze vzdálených systémů.

Připojení k MySQL pomocí tunelu SSH

Použití tunelu SSH je nejjednodušší a nejbezpečnější možností pro vzdálený přístup k MySQL pro účely vývoje. SSH tunel bude vypadat, že MySQL běží na vašem lokálním systému. SSH to dělá otevřením místního portu a bezproblémovým přenosem veškeré komunikace přes tento port do MySQL běžící na vašem serveru.

Chcete-li vytvořit tunel SSH z Mac nebo Linuxu, můžete spustit příkaz SSH příkazového řádku s -L pro povolení místního přesměrování portů.

ssh -L localhost:2000:localhost:3306 serverpilot@SERVER_IP_ADDRESS

Ve výše uvedeném příkladu by SSH otevřelo port 2000 na vašem místním systému a vy pak můžete komunikovat s MySQL připojením k tomuto místnímu portu. Můžete se například připojit pomocí příkazu MySQL:

mysql --protocol=tcp --host=localhost --port=2000 --user=DB_USER_NAME -p
Nevynechávejte --protocol=tcp nebo MySQL může tiše ignorovat --host a --port možnosti.

Můžete také vytvořit tunely SSH ve Windows pomocí PuTTy, oblíbeného klienta Windows SSH.

Povolení přímého přístupu k MySQL ze vzdálených systémů

Upozornění! Povolení přímého přístupu k MySQL zvyšuje riziko, že váš server bude napaden útočníky. Upozornění! MySQL standardně nepoužívá zabezpečená připojení. Manuál MySQL obsahuje více informací o SSL s MySQL.

Krok 1:Nakonfigurujte MySQL tak, aby naslouchalo na všech rozhraních.

Ve výchozím nastavení MySQL naslouchá pouze připojení na localhost , takže prvním krokem je překonfigurovat MySQL na vašem databázovém serveru tak, aby naslouchal na všech rozhraních. Chcete-li to provést, přihlaste se ke svému serveru jako root .

Pokud používáte server Ubuntu 16.04 nebo 18.04, upravte tento soubor:

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

Pro servery 14.04 nebo 12.04 upravte tento soubor:

/etc/mysql/my.cnf

V obou souborech vyhledejte následující řádek:

bind-address = 127.0.0.1

Změňte bind-address0.0.0.0 :

bind-address = 0.0.0.0

Uložte tento soubor a poté spusťte následující příkaz jako root :

sudo service mysql restart

Krok 2:Otevřete port TCP 3306 v bráně firewall vašeho serveru.

Firewall nakonfigurovaný ServerPilot blokuje veškerý přístup k MySQL z vnějšku vašeho serveru. Budete tedy muset upravit svůj firewall tak, aby umožňoval přístup k MySQL.

Chcete-li otevřít přístup k MySQL mimo váš server, přečtěte si náš článek o přizpůsobení firewallu.

Další krok pro EC2:Povolte TCP port 3306 ve vašich skupinách zabezpečení.

Pokud se jedná o EC2 server, musíte také povolit port 3306 ve skupinách zabezpečení vašeho serveru.

Nakonfigurujte své aplikace pro použití vzdáleného hostitele.

Jakmile nastavíte vzdálený server MySQL, budete chtít nakonfigurovat své aplikace tak, aby používaly tohoto hostitele pro databázové transakce. To se obvykle nastavuje v konfiguračním souboru aplikace a jako náš příklad použijeme WordPress.

Otevřete soubor wp-config.php aplikace.

Na tomto řádku:

define('DB_HOST', 'localhost');

Změňte „localhost“ na IP adresu vzdáleného serveru MySQL nebo úplný název hostitele. IP adresa bude obvykle rychlejší a spolehlivější volbou, protože se nespoléhá na překlad DNS.

Uložte soubor a ukončete, a máte hotovo! Nyní můžete svou aplikaci otestovat, abyste se ujistili, že funguje správně.


  1. Aktuální stav správy zálohování Open Source pro PostgreSQL

  2. Výběr dat ze dvou různých serverů v SQL Server

  3. Recenze knihy :Benjamin Nevarez:Query Tuning &Optimization

  4. MySQL Zobrazit uživatele