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. Наряду с тем, что скип-сеть была хэширована (и наш мусор брандмауэра), мне нужно было сделать следующее:
Попробуйте инструмент командной строки на сервере, на котором размещена БД (например,
shell> mysql -h localhost -u root -p
затем введите пароль)Запишите / путь, с которого он пытается соединиться (оканчивающийся на.sock)
Войти в
my.cnf
и убедитесь в[client]
а также[mysqld]
разделы, которыеsocket=
содержит путь, который вы нашли в шаге 2.