powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как грамотно заблокировать доступ к MySQL извне?
9 сообщений из 9, страница 1 из 1
Как грамотно заблокировать доступ к MySQL извне?
    #40017445
volosoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Только начинаю постигать MySQL, появился вопрос, как грамотно запретить внешние подключения к серверу.
Например, предполагается, что доступ к БД будет только у пользователя данного ПК.
В ходе часовых поисков была найдена переменная bind_address , которой нужно передать разрешенный адрес подключения (в моем случае это 127.0.0.1).
Запускаю MySQL 8.0 Command Line Client, ввожу пароль root-пользователя (он у меня единственный), затем ввожу команду:
Код: sql
1.
set global bind_address='127.0.0.1';


На нее получаю ответ:
Код: plaintext
ERROR 1238 (HY000): Variable 'bind_address' is a read only variable
Продолжаю поиски, нахожу информацию, что данную переменную нужно устанавливать в файле my.ini вручную.
Нахожу этот файл в C:\ProgramData\MySQL\MySQL Server 8.0 (я работаю в Windows, тут еще путаница с расположением, в Unix-системах все совсем по-другому)
После [mysqld]
дописываю
bind-address=127.0.0.1
Перезагружаюсь, запускаю консоль, проверяю
Код: sql
1.
mysql> show global variables like "bind_address";


Код: plaintext
1.
2.
3.
4.
5.
+---------------+-----------+
| Variable_name | Value     |
+---------------+-----------+
| bind_address  | 127.0.0.1 |
+---------------+-----------+
1 row in set, 1 warning (0.00 sec)
Выдает предупреждение. Пытаюсь узнать что за предупреждение
Код: sql
1.
mysql> show warnings;


Код: plaintext
1.
2.
3.
4.
5.
+---------+------+----------------------------------------------------------------------------------+
| Level   | Code | Message                                                                          |
+---------+------+----------------------------------------------------------------------------------+
| Warning | 1366 | Incorrect string value: '\xE7\xE8\xEC\xE0)' for column 'VARIABLE_VALUE' at row 1 |
+---------+------+----------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Все ли правильно я делаю? Что это за предупреждение? Можно ли как-то задать эту переменную с помощью команды или через MySQL Workbench?
...
Рейтинг: 0 / 0
Как грамотно заблокировать доступ к MySQL извне?
    #40017484
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volosoed
Все ли правильно я делаю?

Да.

volosoed
Что это за предупреждение?

Какая-то из переменных имеет кривое значение. Кириллица, служебные символы...
...
Рейтинг: 0 / 0
Как грамотно заблокировать доступ к MySQL извне?
    #40017499
volosoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, кривое значение в файле
Код: plaintext
my.ini
? А в какой кодировке его нужно сохранить? И с ANSI, и с UTF-8 - та же ошибка.
Я попробовал раскомментировать переменную
Код: plaintext
skip_networking
, при этом убрал из файла строку
Код: plaintext
bind-address=127.0.0.1
(прочитал, что эти строчки исключают друг друга, хотя в некоторых мануалах рекомендуют их писать вместе), и после этого не смог подключиться ни через консоль, ни через MySQL Worckbench. Как правильно использовать skip_networking , как в таком случае подключаться, стоит ли его вообще использовать, если нужно разрешить только локальные подключения?
...
Рейтинг: 0 / 0
Как грамотно заблокировать доступ к MySQL извне?
    #40017588
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volosoed
Akina, кривое значение в файле
Код: plaintext
my.ini
? А в какой кодировке его нужно сохранить?

Вряд ли в My.ini. Скорее это, например, system_time_zone .

volosoed
Как правильно использовать skip_networking , как в таком случае подключаться

Дык... через сокет. Сетевая часть при skip_networking отключена СОВСЕМ.
...
Рейтинг: 0 / 0
Как грамотно заблокировать доступ к MySQL извне?
    #40017649
volosoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как тогда подключиться, при создании нового коннекта в MySQL Workbench у меня на выбор 3 варианта подключения, из них 2 - с использованием TCP/IP. Третий - через некий Spot. Как тогда поделючаться, если все-ьаки оставить skip_networking?
...
Рейтинг: 0 / 0
Как грамотно заблокировать доступ к MySQL извне?
    #40017773
volosoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вчера не было под рукой MySQL, написал не то... В Connection Method (при создании нового подключения в Workbench) три варианта подключения:
Код: plaintext
1.
2.
Standart (TCP/IP)
Local Socket/Pipe
Standart TCP/IP over SSH
При включенной опции skip_networking с помощью Local Socket/Pipe подключиться не удалось. Поле Socket/Pipe path оставлял пустым/ставил точку (в каких-то мануалах так рекомендовали/что я туда только не писал, результат - Can't open named pipe to host при пробном подключении.
Как тогда подключиться?
...
Рейтинг: 0 / 0
Как грамотно заблокировать доступ к MySQL извне?
    #40017782
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для включения Local Socket/Pipe необходимо как минимум:

- раскомментировать и установить настройки enable-named-pipe и socket (для Windows - ещё и named-pipe) в секции [mysqld].
- раскомментировать и установить настройку pipe= в секции [client].
- перезапустить сервер для применения настроек.

Ну и вообще почитать User Manual по этому вопросу. Там есть и ещё настроек.
...
Рейтинг: 0 / 0
Как грамотно заблокировать доступ к MySQL извне?
    #40017786
volosoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Я правильно понимаю, что при установке skip_networking подключиться можно будет только через Local Socket/Pipe ?
В таком случае, для начала, мне хватит и bind-address=127.0.0.1 - простого ограничения доступа извне.
...
Рейтинг: 0 / 0
Как грамотно заблокировать доступ к MySQL извне?
    #40017819
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volosoed
Я правильно понимаю, что при установке skip_networking подключиться можно будет только через Local Socket/Pipe ?
да.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как грамотно заблокировать доступ к MySQL извне?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]