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 доступным как из удаленного, так и из локального?

2 ответа

Решение

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

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

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

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

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

Другие вопросы по тегам