W tym przewodniku dowiemy się, jak zmienić domyślny port MySQL/MariaDB baza danych wiąże się w CentOS 7 i Debian oparte na dystrybucji Linuksa. Domyślny port, na którym serwer bazy danych MySQL działa w systemach Linux i Unix to 3306/TCP .
Aby zmienić domyślny MySQL/MariaDB port bazy danych w systemie Linux, otwórz plik konfiguracyjny serwera MySQL do edycji, wydając poniższe polecenie.
# vi /etc/my.cnf.d/server.cnf [On CentOS/RHEL] # vi /etc/mysql/mariadb.conf.d/50-server.cnf [On Debian/Ubuntu]
Wyszukaj statystyki linii zaczyna się od [mysqld]
i umieść następującą dyrektywę portu w [mysqld]
oświadczenie, jak pokazano w poniższych fragmentach plików. Zamień odpowiednio zmienną portu.
[mysqld] port = 12345
Po dodaniu nowego MySQL/MariaDB portu, zapisz i zamknij plik konfiguracyjny i zainstaluj następujący pakiet pod CentOS 7 w celu zastosowania wymaganego SELinux zasady umożliwiające bazie danych wiązanie na nowym porcie.
# yum install policycoreutils-python
Następnie dodaj poniższy SELinux reguły, aby powiązać gniazdo MySQL na nowym porcie i zrestartować demona bazy danych, aby zastosować zmiany, wydając następujące polecenia. Ponownie zastąp zmienną portu MySQL, aby odpowiadała Twojemu numerowi portu.
--------------- 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]
Aby sprawdzić, czy konfiguracja portu dla MySQL/MariaDB serwer bazy danych został pomyślnie zastosowany, wydaj polecenie netstat lub ss i filtruj wyniki za pomocą polecenia grep, aby łatwo zidentyfikować nowy port MySQL.
# ss -tlpn | grep mysql # netstat -tlpn | grep mysql
Możesz również wyświetlić nowy port MySQL, logując się do bazy danych MySQL za pomocą konta root i wydaj poniższe polecenie. Należy jednak pamiętać, że wszystkie połączenia z MySQL na hoście lokalnym są nawiązywane przez gniazdo domeny unixowej MySQL, a nie przez gniazdo TCP. Ale numer portu TCP musi być wyraźnie określony w przypadku zdalnych połączeń wiersza poleceń do bazy danych MySQL przy użyciu -P
flaga.
# mysql -h localhost -u root -p -P 12345 MariaDB [(none)]> show variables like 'port';
W przypadku zdalnego połączenia z bazą danych MySQL, użytkownik root musi być wyraźnie skonfigurowany, aby zezwalać na połączenia przychodzące ze wszystkich sieci lub tylko z adresu IP, wydając poniższe polecenie w konsoli MySQL:
# 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
Zdalnie zaloguj się do serwera MySQL za pomocą klienta wiersza poleceń na nowym porcie, wydając poniższe polecenie.
# mysql -h 192.168.1.159 -P 12345 -u root -p
Wreszcie, po zmianie MySQL/MariaDB portu serwera bazy danych, musisz zaktualizować reguły zapory dystrybucji, aby zezwolić na połączenia przychodzące do nowego portu TCP, aby zdalni klienci mogli pomyślnie łączyć się z bazą danych.