sql >> Database >  >> RDS >> Mysql

Hoe de standaard MySQL/MariaDB-poort in Linux te wijzigen

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.


  1. gebruiker postgres start proces waarbij alle CPU's 100% worden gebruikt

  2. Hoe MariaDB op CentOS 7 / RHEL 7 te installeren

  3. Hoe SQLite Char() werkt

  4. sql geografie naar dbgeography?