#mysql #mariadb #port #mariadb-10.5
#mysql #mariadb #порт #mariadb-10.5
Вопрос:
Я установил MariaDB 10.5.5 на сервере Ubuntu 20.04. Прямо сейчас я пытаюсь изменить порт базы данных по умолчанию, скажем, на 12345. Когда я заглядываю в /etc/mysql/my.cnf
и /etc/mysql/mariadb.conf.d/50-server.conf
там нет параметров порта, я добавляю port = 5505
inside /etc/mysql/mariadb.conf.d/50-server.conf
под [mysqld]
, затем перезапускаю mariadb-сервер с помощью sudo systemctl restart mysql
amp; sudo systemctl restart mariadb
. Но когда я подключаю сервер mariadb с помощью mysql -uusername -p
, он просто подключается. Ожидаемое поведение — клиент mysql отклонит соединение. Я тоже пытаюсь использовать mysql -uusername -p -P123222
, но все еще подключен. Мои вопросы в том, как я могу изменить порт и предотвратить это странное поведение?
Комментарии:
1. mariadb подключается через сокет unix по умолчанию. Немного странно, что порт игнорируется до тех пор, пока не будет указан хост. Так было долгое время.
2. Привет, @danblack, спасибо за ответ. Я вижу, заметил.
Ответ №1:
Если вы не укажете имя хоста, будет использоваться имя хоста по умолчанию «localhost», поэтому соединение будет установлено через unix_socket, а не через TCP / IP.
Для подключения через порт используйте, например
mysql -h127.0.0.1 -P12345 -uusername -p
Комментарии:
1. Привет! Спасибо за ответ. Я пробую эту команду, и она работает так, как ожидалось, 😀
Ответ №2:
Есть как минимум 2 места, где вы можете найти
port = 3306
Убедитесь, что вы меняете их все, но конкретно тот, который находится в разделе [mysqld]
[mysqld]
port = 3307
Именно он указывает администратору, какой порт использовать.
Я предполагаю, что вы изменили тот, который находится под [client]
Так что измените оба 🙂
Комментарии:
1. Привет! Спасибо за ответ, я проверяю его еще раз и готов убедиться, что он находится в правильном файле конфигурации /etc /mysql/mariadb.conf.d/50-server.conf и в разделе [mysqld] на самом деле я не указываю хост при подключении к серверу mariadb. Решение, предоставленное @georg, работает отлично.
2. или используйте
[client-server]
и настройте порт для обоих одним нажатием. Если вы посмотрите наmysqld --help --verbose
, это показывает, какие разделы читаются.