Linux'ta Varsayılan MySQL/MariaDB Bağlantı Noktası Nasıl Değiştirilir


Bu kılavuzda MySQL/MariaDB veritabanının CentOS 7 ve Debian tabanlı Linux dağıtımlarında bağlandığı varsayılan bağlantı noktasını nasıl değiştireceğimizi öğreneceğiz. MySQL veritabanı sunucusunun Linux ve Unix altında çalıştığı varsayılan bağlantı noktası 3306/TCP'dir.

Linux'ta varsayılan MySQL/MariaDB veritabanı portunu değiştirmek için aşağıdaki komutu vererek MySQL sunucu yapılandırma dosyasını düzenlemek üzere açın.

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

[mysqld] ile başlayan stat satırını arayın ve aşağıdaki bağlantı noktası yönergesini aşağıdaki dosya alıntılarında gösterildiği gibi [mysqld] ifadesinin altına yerleştirin. Bağlantı noktası değişkenini buna göre değiştirin.

[mysqld] 
port = 12345

Yeni MySQL/MariaDB bağlantı noktasını ekledikten sonra, gerekli SELinux'u uygulamak için yapılandırma dosyasını kaydedip kapatın ve aşağıdaki paketi CentOS 7 altına yükleyin. veritabanının yeni bağlantı noktasına bağlanmasına izin veren kurallar.

yum install policycoreutils-python

Daha sonra, MySQL soketini yeni bağlantı noktasına bağlamak için aşağıdaki SELinux kuralını ekleyin ve aşağıdaki komutları vererek değişiklikleri uygulamak için veritabanı arka plan programını yeniden başlatın. Tekrar MySQL bağlantı noktası değişkenini kendi bağlantı noktası numaranızla eşleşecek şekilde değiştirin.

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

MySQL/MariaDB veritabanı sunucusunun bağlantı noktası yapılandırmasının başarıyla uygulanıp uygulanmadığını doğrulamak için netstat veya ss komutunu çalıştırın ve sonuçları kolayca tanımlamak için grep komutuyla filtreleyin. yeni MySQL bağlantı noktası.

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

Ayrıca, MySQL veritabanına root hesabıyla giriş yapıp aşağıdaki komutu vererek yeni MySQL portunu görüntüleyebilirsiniz. Ancak localhost üzerindeki MySQL'e yapılan tüm bağlantıların TCP soketi üzerinden değil, MySQL unix etki alanı soketi üzerinden yapıldığını unutmayın. Ancak -P bayrağını kullanarak MySQL veritabanına komut satırından uzaktan bağlantı yapılması durumunda TCP bağlantı noktası numarasının açıkça belirtilmesi gerekir.

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

MySQL veritabanına uzaktan bağlantı durumunda, kök kullanıcının MySQL konsolunda aşağıdaki komutu vererek tüm ağlardan veya yalnızca bir IP adresinden gelen bağlantılara izin verecek şekilde açıkça yapılandırılması gerekir:

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

Aşağıdaki komutu vererek yeni porttaki bir komut satırı istemcisi aracılığıyla MySQL sunucusuna uzaktan giriş yapın.

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

Son olarak, MySQL/MariaDB veritabanı sunucusu bağlantı noktasını değiştirdikten sonra, uzak istemcilerin veritabanına başarıyla bağlanabilmesi için dağıtım Güvenlik Duvarı kurallarınızı yeni TCP bağlantı noktasına gelen bağlantılara izin verecek şekilde güncellemeniz gerekir.