Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да промените MySQL/MariaDB порт по подразбиране в Linux

В това ръководство ще научим как да променим порта по подразбиране, който MySQL/MariaDB база данни се свързва в CentOS 7 и Debian -базирани Linux дистрибуции. Портът по подразбиране, който MySQL сървърът на база данни работи под Linux и Unix, е 3306/TCP .

За да промените по подразбиране MySQL/MariaDB порт на база данни в Linux, отворете конфигурационния файл на MySQL сървъра за редактиране, като издадете командата по-долу.

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

Търсенето на реда stat започва с [mysqld] и поставете следната директива за порт под [mysqld] изявление, както е показано в откъсите от файла по-долу. Заменете съответно променливата на порта.

[mysqld] 
port = 12345

След като сте добавили новия MySQL/MariaDB порт, запазете и затворете конфигурационния файл и инсталирайте следния пакет под CentOS 7 за да приложите необходимия SELinux правила, които позволяват на базата данни да се свързва с новия порт.

# yum install policycoreutils-python

След това добавете SELinux по-долу правило за свързване на MySQL сокет на новия порт и рестартиране на демона на базата данни, за да приложите промените, като издадете следните команди. Отново заменете променливата на порт MySQL, за да съответства на вашия собствен номер на порт.

--------------- 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 сървърът на базата данни е приложен успешно, издайте netstat или ss команда и филтрирайте резултатите чрез команда grep, за да идентифицирате лесно новия MySQL порт.

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

Можете също да покажете новия MySQL порт, като влезете в базата данни MySQL с root акаунт и издадете командата по-долу. Въпреки това, имайте предвид, че всички връзки към MySQL на localhost се осъществяват чрез сокета на MySQL unix домейн, а не чрез TCP сокета. Но номерът на TCP порта трябва да бъде изрично посочен в случай на отдалечени връзки на командния ред към базата данни MySQL с помощта на -P флаг.

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

В случай на отдалечена връзка с MySQL база данни, root потребителят трябва да бъде изрично конфигуриран да позволява входящи връзки от всички мрежи или само от IP адрес, като се издаде командата по-долу в конзолата на 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

Влезте отдалечено в MySQL сървъра чрез клиент на командния ред на новия порт, като издадете командата по-долу.

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

И накрая, след като промените MySQL/MariaDB порт на сървъра на базата данни, трябва да актуализирате правилата на защитната стена на разпространение, за да позволите входящи връзки към новия TCP порт, така че отдалечените клиенти да могат успешно да се свързват с базата данни.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изтриване на дублиращи се редове в MySQL (игнорира първичен ключ)

  2. MySQL:Как да получите дължината на текста в колона

  3. Как да намерите нечислови стойности в колона в MySQL

  4. java.sql.SQLException:Неправилна стойност на низа:'\xF0\x9F\x91\xBD\xF0\x9F...'

  5. Как да отстраните проблеми с MySQL дефинера