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

Povolit vzdálený přístup k databázi MySQL

Vzdálený přístup k databázovému serveru MySQL je obvykle z bezpečnostních důvodů zakázán. Nějakou dobu však budete muset poskytnout vzdálený přístup k databázovému serveru MySQL z domova nebo webového serveru. Chcete-li to povolit, postupujte podle těchto kroků.

Krok 1:Přihlaste se pomocí SSH (pokud je server mimo vaše prostředí nebo intranet)

Nejprve se přihlaste přes ssh ke vzdálenému databázovému serveru MySQL z Windows pomocí PuTTy nebo z Linuxu pomocí SSH

Krok 2:Upravte soubor my.cnf

Po připojení musíte upravit konfigurační soubor serveru MySQL my.cnf pomocí textového editoru, jako je vi:

  • V systému Debian Linux soubor je umístěn na /etc/mysql/my.cnf umístění.
  • V systému Red Hat Linux/Fedora/Centos Linux soubor je umístěn na /etc/my.cnf umístění.

Chcete-li upravit /etc/my.cnf, spusťte:

# vi /etc/my.cnf
  • V systému Windows , soubor my.ini je umístěn na C:\Program Files\MySQL\MySQL Server X.Y (X.Y je číslo verze serveru MySQL)

V systému Windows otevřete soubor my.ini v poznámkovém bloku

Krok 3:Po otevření souboru vyhledejte řádek, který zní následovně

[mysqld]

Ujistěte se, že řádek skip-networking je zakomentován (nebo odstraňte řádek) a přidejte následující řádek

bind-address=YOUR-SERVER-IP

Pokud je například IP vašeho serveru MySQL 173.234.21.12, bude celý blok vypadat následovně:

[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
....

Kde,

  • bind-address :IP adresa, na kterou se má navázat.
  • přeskočit síť :Neposlouchejte připojení TCP/IP vůbec. Veškerá interakce s mysqld musí být provedena prostřednictvím Unixových soketů. Tato možnost je vysoce doporučena pro systémy, kde jsou povoleny pouze místní požadavky. Protože potřebujete povolit vzdálené připojení, tento řádek by měl být odstraněn z my.cnf nebo komentován.

Krok 4:Uložte a zavřete soubor

V systému Debian / Ubuntu Linux restartujte server mysql zadáním následujícího příkazu:

# /etc/init.d/mysql restart

Na RHEL / CentOS / Fedora / Scientific Linux zadejte následující příkaz k restartování serveru mysql:

# /etc/init.d/mysqld restart

V systému Windows otevřete příkazový řádek jako správce a zadejte

net stop MySQL
net start MySQL

Krok 5:Udělte přístup ke vzdálené IP adrese

Udělit přístup k nové databázi

Pokud chcete přidat novou databázi s názvem foo pro uživatelskou lištu a vzdálenou IP 162.72.20.23, musíte do příkazového řádku mysql zadat následující příkazy:

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

Udělit přístup ke stávající databázi

Předpokládejme, že se vždy připojujete ze vzdálené IP s názvem 162.72.20.23 do databáze s názvem webdb pro uživatele webadmin. Chcete-li udělit přístup k této IP adrese pro existující databázi, zadejte do řádku mysql následující příkaz:

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:Odhlášení z MySQL

Pro odhlášení z mysql zadejte příkaz exit:

mysql> exit

Krok 7:Otevřete port 3306

Ukázkové pravidlo iptables pro otevření brány firewall iptables pro Linux

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

NEBO povolte vzdálené připojení pouze z vašeho webového serveru umístěného na 162.72.20.23:

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

NEBO povolte vzdálené připojení pouze z vaší podsítě 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

Nakonec uložte všechna pravidla (specifický příkaz RHEL / CentOS):
# service iptables save

V systému Windows přejděte na Ovládací panely> Brána firewall systému Windows> Přidat příchozí pravidlo pro port 3306

Krok 8:Otestujte vzdálený přístup k databázi MySQL

Ve vzdáleném systému nebo na ploše zadejte následující příkaz:

$ mysql -u webadmin –h 173.234.21.12 –p

V systému Windows spusťte program příkazového řádku MySQL a přihlaste se jako správce zadáním následujícího příkazu z kořenové složky MySQL (např. 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

Kde,

  1. Kompletní systém registrace uživatelů pomocí PHP a databáze MySQL

  2. Jaký je nejrychlejší způsob hromadného vkládání velkého množství dat na SQL Server (klient C#)

  3. Jak převést celé číslo na desítkové v SQL Server

  4. Jak zkontroluji NLS_LANG klienta?