In deze handleiding leren we hoe u de standaardpoort kunt wijzigen die MySQL/MariaDB database bindt in CentOS 7 en Debian gebaseerde Linux-distributies. De standaardpoort waarop de MySQL-databaseserver draait onder Linux en Unix is 3306/TCP .
Om de standaard MySQL/MariaDB . te wijzigen databasepoort in Linux, open het MySQL-serverconfiguratiebestand voor bewerking door het onderstaande commando uit te voeren.
# vi /etc/my.cnf.d/server.cnf [On CentOS/RHEL] # vi /etc/mysql/mariadb.conf.d/50-server.cnf [On Debian/Ubuntu]
Zoeken naar de regelstatistieken begint met [mysqld]
en plaats de volgende poortrichtlijn onder [mysqld]
verklaring, zoals weergegeven in de onderstaande bestandsfragmenten. Vervang de poortvariabele dienovereenkomstig.
[mysqld] port = 12345
Nadat u de nieuwe MySQL/MariaDB . heeft toegevoegd poort, sla het configuratiebestand op en sluit het en installeer het volgende pakket onder CentOS 7 om de vereiste SELinux . toe te passen regels om de database te laten binden op de nieuwe poort.
# yum install policycoreutils-python
Voeg vervolgens de onderstaande SELinux . toe regel om MySQL-socket op de nieuwe poort te binden en start de databasedaemon opnieuw om wijzigingen toe te passen door de volgende opdrachten uit te voeren. Vervang nogmaals de MySQL-poortvariabele zodat deze overeenkomt met uw eigen poortnummer.
--------------- 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]
Om te controleren of de poortconfiguratie voor MySQL/MariaDB database server is succesvol toegepast, geef netstat of ss commando en filter de resultaten via het grep-commando om de nieuwe MySQL-poort gemakkelijk te identificeren.
# ss -tlpn | grep mysql # netstat -tlpn | grep mysql
U kunt de nieuwe MySQL-poort ook weergeven door in te loggen op de MySQL-database met root-account en de onderstaande opdracht uit te voeren. Houd er echter rekening mee dat alle verbindingen met MySQL op localhost worden gemaakt via de MySQL Unix-domeinsocket, niet via de TCP-socket. Maar het TCP-poortnummer moet expliciet worden opgegeven in het geval van externe verbindingen via de opdrachtregel met de MySQL-database met behulp van de -P
vlag.
# mysql -h localhost -u root -p -P 12345 MariaDB [(none)]> show variables like 'port';
In het geval van een externe verbinding met de MySQL-database, moet de rootgebruiker expliciet worden geconfigureerd om inkomende verbindingen van alle netwerken of alleen een IP-adres toe te staan, door de onderstaande opdracht in de MySQL-console te geven:
# 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
Log op afstand in op de MySQL-server via een opdrachtregelclient op de nieuwe poort door het onderstaande commando uit te voeren.
# mysql -h 192.168.1.159 -P 12345 -u root -p
Eindelijk, zodra u MySQL/MariaDB . heeft gewijzigd databaseserverpoort, moet u de firewallregels van uw distributie bijwerken om inkomende verbindingen naar de nieuwe TCP-poort toe te staan, zodat externe clients met succes verbinding kunnen maken met de database.