V této příručce se naučíme, jak změnit výchozí port MySQL/MariaDB databáze se váže v CentOS 7 a Debian distribuce založené na Linuxu. Výchozí port, na kterém databázový server MySQL běží pod Linuxem a Unixem, je 3306/TCP .
Chcete-li změnit výchozí MySQL/MariaDB port databáze v Linuxu, otevřete konfigurační soubor serveru MySQL pro úpravy zadáním níže uvedeného příkazu.
# vi /etc/my.cnf.d/server.cnf [On CentOS/RHEL] # vi /etc/mysql/mariadb.conf.d/50-server.cnf [On Debian/Ubuntu]
Hledání statistiky řádku začíná [mysqld]
a umístěte následující direktivu portu pod [mysqld]
prohlášení, jak je uvedeno v níže uvedených úryvcích ze souboru. Nahraďte odpovídajícím způsobem proměnnou portu.
[mysqld] port = 12345
Po přidání nového MySQL/MariaDB port, uložte a zavřete konfigurační soubor a nainstalujte následující balíček pod CentOS 7 abyste mohli použít požadovaný SELinux pravidla, která umožní databázi navázat se na nový port.
# yum install policycoreutils-python
Dále přidejte níže uvedený SELinux pravidlo pro navázání soketu MySQL na nový port a restartování databázového démona pro použití změn vydáním následujících příkazů. Znovu nahraďte proměnnou portu MySQL tak, aby odpovídala vašemu vlastnímu číslu 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]
Chcete-li ověřit, zda je konfigurace portu pro MySQL/MariaDB databázový server byl úspěšně aplikován, zadejte příkaz netstat nebo příkaz ss a filtrujte výsledky pomocí příkazu grep, abyste snadno identifikovali nový port MySQL.
# ss -tlpn | grep mysql # netstat -tlpn | grep mysql
Nový port MySQL můžete také zobrazit přihlášením do databáze MySQL pomocí účtu root a zadáním níže uvedeného příkazu. Uvědomte si však, že všechna připojení k MySQL na localhost se provádějí prostřednictvím soketu unixové domény MySQL, nikoli prostřednictvím soketu TCP. V případě vzdáleného připojení k databázi MySQL pomocí příkazového řádku pomocí -P
však musí být číslo portu TCP výslovně uvedeno. vlajka.
# mysql -h localhost -u root -p -P 12345 MariaDB [(none)]> show variables like 'port';
V případě vzdáleného připojení k databázi MySQL musí být uživatel root explicitně nakonfigurován tak, aby umožňoval příchozí připojení ze všech sítí nebo pouze z IP adresy, a to zadáním níže uvedeného příkazu v konzole 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
Vzdáleně se přihlaste k serveru MySQL prostřednictvím klienta příkazového řádku na novém portu zadáním níže uvedeného příkazu.
# mysql -h 192.168.1.159 -P 12345 -u root -p
Konečně, jakmile změníte MySQL/MariaDB port databázového serveru, musíte aktualizovat pravidla distribuční brány firewall, aby povolila příchozí připojení k novému portu TCP, aby se vzdálení klienti mohli úspěšně připojit k databázi.