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,