Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Włącz zdalny dostęp do bazy danych MySQL

Zwykle zdalny dostęp do serwera bazy danych MySQL jest wyłączony ze względów bezpieczeństwa. Jednak od pewnego czasu trzeba zapewnić zdalny dostęp do serwera bazy danych MySQL z domu lub serwera WWW. Możesz wykonać następujące kroki, aby go włączyć.

Krok 1:Zaloguj się za pomocą SSH (jeśli serwer znajduje się poza środowiskiem lub intranetem)

Najpierw zaloguj się przez ssh do zdalnego serwera bazy danych MySQL z systemu Windows za pomocą PuTTy lub z systemu Linux za pomocą SSH

Krok 2:Edytuj plik my.cnf

Po połączeniu musisz edytować plik konfiguracyjny serwera MySQL my.cnf za pomocą edytora tekstu, takiego jak vi:

  • W Debianie plik znajduje się w /etc/mysql/my.cnf lokalizacja.
  • W systemie Red Hat Linux/Fedora/Centos Linux plik znajduje się w /etc/my.cnf lokalizacja.

Aby edytować /etc/my.cnf, uruchom:

# vi /etc/my.cnf
  • W Windowsie , plik my.ini znajduje się w C:\Program Files\MySQL\MySQL Server X.Y (X.Y to numer wersji serwera MySQL)

W systemie Windows otwórz plik my.ini w notatniku

Krok 3:Po otwarciu pliku zlokalizuj wiersz o następującej treści

[mysqld]

Upewnij się, że pomijanie linii jest skomentowane (lub usuń linię) i dodaj następującą linię

bind-address=YOUR-SERVER-IP

Na przykład, jeśli twój adres IP serwera MySQL to 173.234.21.12, wtedy cały blok będzie wyglądał następująco:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 173.234.21.12
# skip-networking
....

Gdzie,

  • adres powiązania :adres IP do powiązania.
  • pomijanie sieci :W ogóle nie nasłuchuj połączeń TCP/IP. Wszelka interakcja z mysqld musi odbywać się za pośrednictwem gniazd uniksowych. Ta opcja jest wysoce zalecana w przypadku systemów, w których dozwolone są tylko żądania lokalne. Ponieważ musisz zezwolić na zdalne połączenie, ta linia powinna zostać usunięta z my.cnf lub skomentowana.

Krok 4:Zapisz i zamknij plik

W systemie Debian / Ubuntu Linux wpisz następujące polecenie, aby ponownie uruchomić serwer mysql:

# /etc/init.d/mysql restart

W RHEL / CentOS / Fedora / Scientific Linux wpisz następujące polecenie, aby ponownie uruchomić serwer mysql:

# /etc/init.d/mysqld restart

W systemie Windows otwórz wiersz poleceń jako Administrator i wpisz

net stop MySQL
net start MySQL

Krok 5:Przyznaj dostęp do zdalnego adresu IP

Przyznaj dostęp do nowej bazy danych

Jeśli chcesz dodać nową bazę danych o nazwie foo dla paska użytkownika i zdalnego adresu IP 162.72.20.23, musisz wpisać następujące polecenia w mysql:

mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO bar@'162.72.20.23' IDENTIFIED BY 'PASSWORD';

Przyznaj dostęp do istniejącej bazy danych

Załóżmy, że zawsze nawiązujesz połączenie ze zdalnego adresu IP o nazwie 162.72.20.23 do bazy danych o nazwie webdb dla użytkownika webadmin. Aby przyznać dostęp do tego adresu IP dla istniejącej bazy danych, wpisz następujące polecenie w wierszu polecenia mysql:

mysql> update db set Host='162.72.20.23' where Db='webdb';
mysql> update user set Host='162.72.20.23' where user='webadmin';

Krok 6:Wyloguj się z MySQL

Wpisz polecenie exit, aby wylogować się z mysql:

mysql> exit

Krok 7:Otwórz port 3306

Przykładowa reguła iptables otwierająca zaporę sieciową iptables

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

LUB zezwalaj tylko na zdalne połączenie z serwera WWW znajdującego się pod adresem 162.72.20.23:

/sbin/iptables -A INPUT -i eth0 -s 162.72.20.23 -p tcp --destination-port 3306 -j ACCEPT

LUB zezwalaj tylko na zdalne połączenie z podsieci LAN 192.168.1.0/24:

/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT

Na koniec zapisz wszystkie reguły (polecenie specyficzne dla RHEL / CentOS):
# service iptables save

W systemie Windows wybierz Panel sterowania> Zapora systemu Windows> Dodaj regułę ruchu przychodzącego dla portu 3306

Krok 8:Przetestuj zdalny dostęp do bazy danych MySQL

W systemie zdalnym lub na pulpicie wpisz następujące polecenie:

$ mysql -u webadmin –h 173.234.21.12 –p

W systemie Windows uruchom program wiersza poleceń MySQL i zaloguj się jako administrator, wpisując następujące polecenie z folderu głównego MySQL (np. Program Files\MySQL\MySQL Server 5.5\bin):

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u webadmin –h 173.234.21.12 –p

Gdzie,

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Objaśnienie MySQL COALESCE()

  2. Jak tworzyć zapytania sprzężenia za pomocą Sequelize na Node.js

  3. Napraw „BŁĄD 1222 (21000):Użyte instrukcje SELECT mają inną liczbę kolumn” podczas korzystania z UNION w MySQL

  4. Pokrycie MySQL vs indeks złożony vs indeks kolumn

  5. Zapytanie o długość i szerokość geograficzną mySQL dla innych wierszy w promieniu x mili