Kako spremeniti privzeta vrata MySQL/MariaDB v Linuxu


V tem priročniku se bomo naučili, kako spremeniti privzeta vrata, ki jih povezuje baza podatkov MySQL/MariaDB v distribucijah CentOS 7 in Debian, ki temeljijo na Debianu. Privzeta vrata, ki jih strežnik baze podatkov MySQL izvaja pod Linuxom in Unixom, so 3306/TCP.

Če želite spremeniti privzeta vrata baze podatkov MySQL/MariaDB v Linuxu, odprite konfiguracijsko datoteko strežnika MySQL za urejanje tako, da izdate spodnji ukaz.

# vi /etc/my.cnf.d/server.cnf                   [On CentOS/RHEL]
# vi /etc/mysql/mariadb.conf.d/50-server.cnf    [On Debian/Ubuntu] 

Iskanje statistike vrstice se začne z [mysqld] in postavite naslednjo direktivo o vratih pod [mysqld] , kot je prikazano v spodnjih odlomkih datotek. Ustrezno spremenite spremenljivko vrat.

[mysqld] 
port = 12345

Ko dodate nova vrata MySQL/MariaDB, shranite in zaprite konfiguracijsko datoteko ter namestite naslednji paket v sistem CentOS 7, da uporabite zahtevana pravila SELinux, da omogočite povezavo baze podatkov na nova vrata.

# yum install policycoreutils-python

Nato dodajte spodnje pravilo SELinux, da povežete vtičnico MySQL na nova vrata in znova zaženete demon baze podatkov, da uporabite spremembe, tako da izdate naslednje ukaze. Spet zamenjajte spremenljivko vrat MySQL, da se ujema z vašo številko vrat.

--------------- On CentOS/RHEL --------------- 
# semanage port -a -t mysqld_port_t -p tcp 12345
# systemctl restart mariadb

--------------- On Debian/Ubuntu ---------------
# systemctl restart mysql      [On Debian/Ubuntu]  

Če želite preveriti, ali je bila konfiguracija vrat za strežnik baz podatkov MySQL/MariaDB uspešno uporabljena, izdajte ukaz grep, da boste zlahka prepoznali nova vrata MySQL.

# ss -tlpn | grep mysql
# netstat -tlpn | grep mysql

Nova vrata MySQL lahko prikažete tudi tako, da se prijavite v bazo podatkov MySQL s korenskim računom in izdate spodnji ukaz. Vendar se zavedajte, da so vse povezave z MySQL na localhostu vzpostavljene prek vmesnika domene MySQL unix, ne prek vtičnice TCP. V primeru oddaljenih povezav ukazne vrstice z bazo podatkov MySQL z zastavo -P je treba izrecno določiti številko vrat TCP.

# mysql -h localhost -u root -p -P 12345
MariaDB [(none)]> show variables like 'port';

V primeru oddaljene povezave z bazo podatkov MySQL mora biti korenski uporabnik izrecno konfiguriran tako, da dovoljuje dohodne povezave iz vseh omrežij ali samo naslova IP, tako da v konzoli MySQL izda spodnji ukaz:

# mysql -u root -p
MariaDB [(none)]> grant all privileges on *.* to 'root'@'192.168.1.159' identified by 'strongpass';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit

Oddaljeno se prijavite v strežnik MySQL prek odjemalca ukazne vrstice na novih vratih z izdajo spodnjega ukaza.

# mysql -h 192.168.1.159 -P 12345 -u root -p  

Ko ste spremenili vrata strežnika baz podatkov MySQL/MariaDB, morate posodobiti pravila požarnega zidu za distribucijo, da omogočite dohodne povezave z novimi vrati TCP, tako da se lahko oddaljeni odjemalci uspešno povežejo z bazo podatkov.