Vanligtvis är fjärråtkomst till MySQL-databasserver inaktiverad av säkerhetsskäl. Men en tid behöver du ge fjärråtkomst till MySQL-databasservern hemifrån eller en webbserver. Du kan följa dessa steg för att aktivera det.
Steg 1 :Logga in med SSH (om servern är utanför din miljö eller intranät)
Logga först in över ssh till fjärr MySQL-databasserver från Windows med PuTTy eller från Linux med SSH
Steg 2 :Redigera my.cnf-filen
När du är ansluten måste du redigera MySQL-serverns konfigurationsfil my.cnf med en textredigerare som vi:
- På Debian Linux filen finns på /etc/mysql/my.cnf plats.
- På Red Hat Linux/Fedora/Centos Linux filen finns på /etc/my.cnf plats.
För att redigera /etc/my.cnf, kör:
# vi /etc/my.cnf
- På Windows , my.ini-filen finns på C:\Program Files\MySQL\MySQL Server X.Y (X.Y är versionsnumret för MySQL-servern)
För Windows, öppna filen my.ini i anteckningsblock
Steg 3:När filen har öppnats, leta reda på raden som lyder enligt följande
[mysqld]
Se till att linjehoppning-nätverk har kommenterats (eller ta bort rad) och lägg till följande rad
bind-address=YOUR-SERVER-IP
Till exempel, om din MySQL-server IP är 173.234.21.12 kommer hela blocket att se ut så här:
[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 ....
Var,
- bind-adress :IP-adress att binda till.
- hoppa över nätverk :Lyssna inte alls efter TCP/IP-anslutningar. All interaktion med mysqld måste göras via Unix-sockets. Det här alternativet rekommenderas starkt för system där endast lokala förfrågningar är tillåtna. Eftersom du måste tillåta fjärranslutning bör denna rad tas bort från my.cnf eller kommenteras.
Steg 4:Spara och stäng filen
På Debian / Ubuntu Linux, skriv följande kommando för att starta om mysql-servern:
# /etc/init.d/mysql restart
På RHEL / CentOS / Fedora / Scientific Linux, skriv följande kommando för att starta om mysql-servern:
# /etc/init.d/mysqld restart
I Windows, öppna kommandotolken som administratör och skriv
net stop MySQL net start MySQL
Steg 5:Bevilja åtkomst till fjärransluten IP-adress
Ge åtkomst till en ny databas
Om du vill lägga till en ny databas som heter foo för användarbar och fjärr-IP 162.72.20.23 måste du skriva följande kommandon vid mysql-prompten:
mysql> CREATE DATABASE foo; mysql> GRANT ALL ON foo.* TO bar@'162.72.20.23' IDENTIFIED BY 'PASSWORD';
Ge åtkomst till en befintlig databas
Låt oss anta att du alltid gör en anslutning från fjärr-IP som heter 162.72.20.23 till databasen som heter webdb för användarens webadmin. För att ge åtkomst till denna IP-adress för befintlig databas skriv följande kommando vid mysql-prompten:
mysql> update db set Host='162.72.20.23' where Db='webdb'; mysql> update user set Host='162.72.20.23' where user='webadmin';
Steg 6:Logga ut från MySQL
Skriv exit-kommandot för att logga ut från mysql:
mysql> exit
Steg 7:Öppna port 3306
Ett exempel på iptables-regel för att öppna Linux iptables-brandvägg
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
ELLER tillåt endast fjärranslutning från din webbserver som finns på 162.72.20.23:
/sbin/iptables -A INPUT -i eth0 -s 162.72.20.23 -p tcp --destination-port 3306 -j ACCEPT
ELLER tillåt endast fjärranslutning från ditt LAN-subnät 192.168.1.0/24:
/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT
Spara slutligen alla regler (RHEL / CentOS-specifikt kommando):
# service iptables save
I Windows går du till Kontrollpanelen> Windows-brandväggen> Lägg till regel för inkommande port 3306
Steg 8:Testa fjärråtkomst till MySQL-databasen
Skriv följande kommando från ditt fjärrsystem eller skrivbordet:
$ mysql -u webadmin –h 173.234.21.12 –p
I Windows kör du MySQL-kommandoradsprogrammet och loggar in som administratör genom att skriva följande kommando från MySQL-rotmappen (t.ex. 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
Var,