Назад | Перейти на главную страницу

MySQL: разрешить как удаленные, так и локальные подключения

В моем Ubuntu /etc/mysql/my.conf, У меня есть:

bind-address = 192.168.2.20  # My external IP

Он отлично работает удаленно, но когда я хочу подключиться локально, приложение, которое использует MySQL говорит: java.net.ConnectException: Connection refused at com.mysql.jdbc.StandardSocketFactory.connect.

Поэтому, когда я хочу работать локально, я меняю my.cnf кому:

bind-address = 0.0.0.0

И он начинает работать локально, но потом уже не работает удаленно.

Как сделать MySQL доступным как удаленно, так и локально?

Просто закомментируйте bind-address= все вместе. Когда вы это сделаете, он будет привязан ко всем адресам. Также убедитесь, что у вас нет skip-networking включен в вашем my.cnf.

Я ПРОСТО заставил его работать с помощью инструментов командной строки на сервере и удаленно через php. Наряду с проверкой того, что пропускная сеть была хэширована (и наш брандмауэр мусор), мне нужно было сделать следующее:

  1. Попробуйте использовать инструмент командной строки на сервере, на котором размещена база данных (например, shell> mysql -h localhost -u root -p затем введите пароль)

  2. Запишите путь /, с которого он пытается подключиться (заканчивающийся на .sock)

  3. Войти в my.cnf и убедитесь в [client] и [mysqld] разделы, которые socket= содержит путь, который вы нашли на шаге 2.