Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So ändern Sie den Standard-MySQL/MariaDB-Port in Linux

In dieser Anleitung erfahren Sie, wie Sie den Standardport von MySQL/MariaDB ändern Datenbankbindungen in CentOS 7 und Debian -basierte Linux-Distributionen. Der Standardport, auf dem der MySQL-Datenbankserver unter Linux und Unix läuft, ist 3306/TCP .

Um die Standardeinstellung MySQL/MariaDB zu ändern Datenbankport in Linux, öffnen Sie die MySQL-Serverkonfigurationsdatei zur Bearbeitung, indem Sie den folgenden Befehl ausführen.

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

Die Suche nach der Zeile stat beginnt mit [mysqld] und platzieren Sie die folgende Port-Direktive unter [mysqld] Anweisung, wie in den folgenden Dateiauszügen gezeigt. Ersetzen Sie die Portvariable entsprechend.

[mysqld] 
port = 12345

Nachdem Sie die neue MySQL/MariaDB hinzugefügt haben Port, speichern und schließen Sie die Konfigurationsdatei und installieren Sie das folgende Paket unter CentOS 7 um das erforderliche SELinux anzuwenden Regeln, um der Datenbank zu erlauben, sich an den neuen Port zu binden.

# yum install policycoreutils-python

Fügen Sie als Nächstes das unten stehende SELinux hinzu Regel, um den MySQL-Socket an den neuen Port zu binden und den Datenbank-Daemon neu zu starten, um die Änderungen zu übernehmen, indem Sie die folgenden Befehle ausgeben. Ersetzen Sie erneut die MySQL-Portvariable, damit sie mit Ihrer eigenen Portnummer übereinstimmt.

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

Um zu überprüfen, ob die Portkonfiguration für MySQL/MariaDB Datenbankserver erfolgreich angewendet wurde, führen Sie netstat oder den ss-Befehl aus und filtern Sie die Ergebnisse mit dem grep-Befehl, um den neuen MySQL-Port einfach zu identifizieren.

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

Sie können den neuen MySQL-Port auch anzeigen, indem Sie sich mit dem Root-Konto bei der MySQL-Datenbank anmelden und den folgenden Befehl ausführen. Beachten Sie jedoch, dass alle Verbindungen zu MySQL auf localhost über den MySQL-Unix-Domain-Socket und nicht über den TCP-Socket hergestellt werden. Die TCP-Portnummer muss jedoch explizit angegeben werden, wenn über die Befehlszeile Remote-Verbindungen zur MySQL-Datenbank mit -P hergestellt werden Flagge.

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

Im Falle einer Remote-Verbindung zur MySQL-Datenbank muss der Root-Benutzer explizit so konfiguriert werden, dass er eingehende Verbindungen von allen Netzwerken oder nur von einer IP-Adresse zulässt, indem er den folgenden Befehl in der MySQL-Konsole ausgibt:

# 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

Melden Sie sich remote über einen Befehlszeilen-Client am neuen Port beim MySQL-Server an, indem Sie den folgenden Befehl ausführen.

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

Schließlich, sobald Sie MySQL/MariaDB geändert haben Datenbankserver-Port müssen Sie Ihre Verteilungs-Firewall-Regeln aktualisieren, um eingehende Verbindungen zum neuen TCP-Port zuzulassen, damit Remote-Clients erfolgreich eine Verbindung zur Datenbank herstellen können.