Kuidas muuta Linuxi MySQL/MariaDB vaikeporti


Selles juhendis õpime, kuidas muuta vaikeporti, mille MySQL/MariaDB andmebaas seob CentOS 7 ja Debiani-põhistes Linuxi distributsioonides. Vaikeport, mida MySQL-i andmebaasiserver Linuxi ja Unixi all töötab, on 3306/TCP.

Linuxi vaikimisi MySQL/MariaDB andmebaasipordi muutmiseks avage redigeerimiseks MySQL-i serveri konfiguratsioonifail, väljastades järgmise käsu.

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

Rea rea u200bu200botsimine algab tähega [mysqld] ja asetage järgmine pordidirektiiv lause [mysqld] alla, nagu on näidatud allpool olevates faili väljavõtetes. Asendage vastavalt portmuutuja.

[mysqld] 
port = 12345

Pärast uue MySQL/MariaDB pordi lisamist salvestage ja sulgege konfiguratsioonifail ning installige järgmine pakett CentOS 7 alla, et rakendada nõutavad SELinuksi reeglid, mis võimaldavad andmebaasil uues pordis siduda.

# yum install policycoreutils-python

Järgmisena lisage allpool olev SELinuksi reegel, et siduda MySQL-i pesa uues pordis, ja taaskäivitage muudatuste rakendamiseks andmebaasi deemon, väljastades järgmised käsud. Jällegi asendage MySQL-i porti muutuja, et see vastaks teie enda pordinumbrile.

--------------- 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]  

Veendumaks, kas MySQL/MariaDB andmebaasiserveri pordikonfiguratsioon on edukalt rakendatud, väljastage uus MySQL-i pordi hõlpsaks tuvastamiseks käsk grep.

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

Uue MySQL-i pordi saate kuvada ka logides sisse juurkontoga MySQL-i andmebaasi ja väljastage allolev käsk. Kuid pidage meeles, et kõik ühendused kohaliku hostiga MySQL-iga tehakse MySQL unix-i domeenipesa kaudu, mitte TCP-pistikupesa kaudu. Kuid käsurea kaugühenduste korral MySQL-i andmebaasiga tuleb lipu -P abil TCP-pordi number selgelt määratleda.

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

MySQL-i andmebaasiga kaugühenduse korral peab juurkasutaja olema selgesõnaliselt konfigureeritud lubama sissetulevaid ühendusi kõigist võrkudest või lihtsalt IP-aadressist, väljastades MySQL-i konsoolis järgmise käsu:

# 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

Logige eemalt MySQL-i serverisse läbi uue pordi käsurea kliendi kaudu, väljastades alltoodud käsu.

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

Lõpuks, kui olete muutnud MySQL/MariaDB andmebaasiserveri porti, peate värskendama oma levitamise tulemüüri reegleid, et lubada sissetulevad ühendused uue TCP-pordiga, et kaugkliendid saaksid edukalt andmebaasiga ühendust luua.