Kuinka muuttaa MySQL/MariaDB-oletusportti Linuxissa


Tässä oppaassa opimme muuttamaan oletusporttia, jonka MySQL/MariaDB-tietokanta sitoo CentOS 7- ja Debian-pohjaisissa Linux-jakeluissa. Oletusportti, jota MySQL-tietokantapalvelin käyttää Linuxissa ja Unixissa, on 3306/TCP.

Jos haluat muuttaa oletusarvoista MySQL/MariaDB-tietokantaporttia Linuxissa, avaa MySQL-palvelimen määritystiedosto muokkausta varten antamalla alla oleva komento.

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

Hae rivin stat alkaa [mysqld] ja sijoita seuraava porttidirektiivi [mysqld]-käskyn alle, kuten alla olevissa tiedostootteissa näkyy. Vaihda portin muuttuja vastaavasti.

[mysqld] 
port = 12345

Kun olet lisännyt uuden MySQL/MariaDB-portin, tallenna ja sulje määritystiedosto ja asenna seuraava paketti CentOS 7:ään, jotta tarvittava SELinux voidaan ottaa käyttöön. säännöt, joiden avulla tietokanta voi sitoutua uuteen porttiin.

yum install policycoreutils-python

Lisää seuraavaksi alla oleva SELinux-sääntö sitoaksesi MySQL-socketin uuteen porttiin ja käynnistämällä tietokannan demoni uudelleen, jotta muutokset otetaan käyttöön, antamalla seuraavat komennot. Korvaa jälleen MySQL-porttimuuttuja vastaamaan omaa porttinumeroasi.

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

Varmistaaksesi, että MySQL/MariaDB-tietokantapalvelimen porttimääritykset on otettu käyttöön, anna netstat- tai ss-komento ja suodata tulokset grep-komennon avulla tunnistamisen helpottamiseksi. uusi MySQL-portti.

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

Voit myös näyttää uuden MySQL-portin kirjautumalla sisään MySQL-tietokantaan root-tilillä ja antamalla alla olevan komennon. Muista kuitenkin, että kaikki yhteydet MySQL:ään localhostissa tehdään MySQL unix-verkkoalueen socketin kautta, ei TCP-socketin kautta. Mutta TCP-portin numero on määritettävä nimenomaisesti, jos MySQL-tietokantaan muodostetaan komentorivin etäyhteys -P-lipulla.

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

Jos MySQL-tietokantaan muodostetaan etäyhteys, pääkäyttäjän on oltava erikseen määritetty sallimaan saapuvat yhteydet kaikista verkoista tai vain IP-osoitteesta antamalla alla oleva komento MySQL-konsolissa:

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

Etäkirjautuminen MySQL-palvelimelle komentoriviasiakkaan kautta uudessa portissa antamalla alla oleva komento.

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

Lopuksi, kun olet vaihtanut MySQL/MariaDB-tietokantapalvelimen porttia, sinun on päivitettävä jakelun palomuurisäännöt sallimaan saapuvat yhteydet uuteen TCP-porttiin, jotta etäasiakkaat voivat muodostaa yhteyden tietokantaan.