Kā nomainīt MySQL/MariaDB noklusējuma portu Linux


Šajā ceļvedī mēs uzzināsim, kā mainīt noklusējuma portu, ko MySQL/MariaDB datu bāze saista CentOS 7 un Debian bāzes Linux izplatījumos. Noklusējuma ports, kurā MySQL datu bāzes serveris darbojas operētājsistēmās Linux un Unix, ir 3306/TCP.

Lai mainītu noklusējuma MySQL/MariaDB datu bāzes portu Linux, atveriet MySQL servera konfigurācijas failu rediģēšanai, izsniedzot zemāk esošo komandu.

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

Līnijas stat meklēšana sākas ar [mysqld] un ievietojiet šo porta direktīvu [mysqld] paziņojumā, kā parādīts zemāk esošajos failu fragmentos. Attiecīgi nomainiet porta mainīgo.

[mysqld] 
port = 12345

Kad esat pievienojis jauno MySQL/MariaDB portu, saglabājiet un aizveriet konfigurācijas failu un zem CentOS 7 instalējiet šo pakotni, lai piemērotu nepieciešamos SELinux noteikumus, kas ļautu datu bāzei saistīties ar jauno portu.

# yum install policycoreutils-python

Pēc tam pievienojiet zemāk esošo SELinux kārtulu, lai saistītu MySQL ligzdu jaunajā ostā, un restartējiet datu bāzes dēmonu, lai piemērotu izmaiņas, izsniedzot šādas komandas. Atkal nomainiet MySQL porta mainīgo, lai tas atbilstu jūsu paša porta numuram.

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

Lai pārbaudītu, vai MySQL/MariaDB datu bāzes servera porta konfigurācija ir veiksmīgi piemērota, izsniedziet komandu grep, lai viegli identificētu jauno MySQL portu.

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

Varat arī parādīt jauno MySQL portu, piesakoties MySQL datu bāzē ar root kontu un izdodot tālāk norādīto komandu. Tomēr ņemiet vērā, ka visi savienojumi ar MySQL vietnē localhost tiek veikti, izmantojot MySQL unix domēna ligzdu, nevis caur TCP ligzdu. Bet komandrindas attālo savienojumu gadījumā ar MySQL datu bāzi TCP porta numurs ir skaidri jānorāda, izmantojot karodziņu -P .

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

Attālā savienojuma gadījumā ar MySQL datu bāzi root lietotājam jābūt skaidri konfigurētam, lai ienākošie savienojumi būtu pieejami visos tīklos vai tikai IP adresē, MySQL konsolē izsniedzot šādu komandu:

# 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

Attālināti piesakieties MySQL serverī, izmantojot komandrindas klientu jaunajā ostā, izsniedzot tālāk norādīto komandu.

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

Visbeidzot, kad esat mainījis MySQL/MariaDB datu bāzes servera portu, jums jāatjaunina izplatīšanas ugunsmūra noteikumi, lai atļautu ienākošos savienojumus ar jauno TCP portu, lai attālie klienti varētu veiksmīgi izveidot savienojumu ar datu bāzi.