Заставить MySQL использовать только сокет Unix
Я хочу, чтобы мой сервер MySQL использовал только сокет Unix и игнорировал сеть TCP, поэтому я добавил эту строку в свою конфигурацию /etc/my.cnf
:
skip-networking
Но netstat
покажите мне, что MySQL все еще использует TCP-порт 3306:
# netstat -tl | grep mys
tcp 0 0 *:mysql *:* LISTEN
3 ответа
Оказывается, я сохранил файл как my.conf
Ведьма должна быть my.cnf
и именно поэтому сервер был только загружен и использовал конфигурацию по умолчанию.
Если причина состоит в том, чтобы предотвратить удаленный доступ, вы можете достичь своей цели, имея:
bind-address = 127.0.0.1
в разделе [mysqld] вашего my.cnf и перезапустите mysqld.
Это гарантирует, что mysqld будет разрешать только локальные соединения.
Для предотвращения удаленного доступа пропуск сети не единственный вариант, как сказано в комментариях (2013) my.cnf:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
РЕДАКТИРОВАТЬ: защищенная версия (с указанным выше адресом привязки) уже используется по умолчанию в последних (по состоянию на 2013 г.) версиях Ubuntu, поэтому ее нужно менять (прокомментируйте строку выше) только в том случае, если вы действительно хотите включить удаленное обслуживание.
Параметр, который вы используете, кажется правильным, если вы хотите ограничить подключения к вашему серверу mysql только локальными подключениями, я должен добавить эти строки в /etc/my.cnf
[mysqld]
bind-address=127.0.0.1
Не забудьте перезапустить службу mysqld для активации изменений конфигурации
- Удалено использование скип-сети, которая не нужна