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.