#mysql #server
#mysql #сервер
Вопрос:
Я пытаюсь настроить удаленную базу данных, но я сталкиваюсь с проблемой, для которой я не могу найти решение. А именно, когда я редактирую /etc/mysql/mysql.conf.d/mysqld.cnf
и устанавливаю bind-address на 0.0.0.0, после перезапуска mysql
службы ничего не происходит. Я даже несколько раз пытался перезапустить компьютер во время этого процесса.
Когда я вхожу в mysql как root и выполняю show variables
команды, он все еще отображается 127.0.0.1
bind-address
. Однако, когда я это делаю mysql --help
, он показывает (no default value)
переменную bind-address. Я пытался mysql --bind-address=0.0.0.0
, но для этого требуется доступ. Если я предоставлю его, он просто войдет в оболочку mysql и не внесет никаких изменений в bind-address.
Если я попытаюсь telnet MACHINE_IP_ADDRESS 3306
, он скажет telnet: Unable to connect to remote host: Connection refused
. Следовательно, я проверяю службы прослушивания, выполнив sudo netstat -ltup
, и в нем указано localhost: mysql и: для локального адреса и внешнего адреса соответственно. Наконец, если я это сделаю lsof -Pni :3306
, я получу 127.0.0.1:3306 (LISTEN)
.
Есть идеи, что происходит? Помощь приветствуется.
Комментарии:
1. /etc/mysql/mysql.conf.d/mysqld.cnf — не единственный файл конфигурации, который может быть загружен — найдите и проверьте их все. Смотрите dev.mysql.com/doc/refman/8.0/en/option-files.html
2. проверьте все конфигурации и просто удалите bind-address, не устанавливайте для него значение 0.0.0.0
3. Настроен ли брандмауэр на открытие порта 3306?
4. @FlashThunder Я сделаю так, как вы предлагаете. Однако, разве это не одно и то же? Разве удаление адреса привязки в конфигурации не означает, что по умолчанию он равен 0.0.0.0? РЕДАКТИРОВАТЬ: после перезапуска службы и компьютера ничего не изменилось по сравнению с вышеупомянутым. Кроме того, и, как ни странно, «(нет значения по умолчанию)» было исправлено обратно на localhost, когда я вернул его на IP-адрес компьютера, но теперь, после закомментирования «bind-address», он вернулся к «(нет значения по умолчанию)» после перезапуска.
5. @Akina Спасибо за ссылку, и я проверил каждый файл; /etc/my.cnf не существует, а в /etc/mysql/my.cnf есть только «!includedir» в двух других файлах conf. Первый !includedir — это просто настройки mysql, которые пусты (за исключением «[mysql]» вверху). У второго есть настройки mysqld, но, похоже, они не меняют никаких настроек для mysqld. Другие файлы, кроме этих, похоже, не существуют. Кроме того, я даже пытался найти больше файлов, перейдя в корневой каталог и используя «найти . -назовите команду «my.cnf» -print». Каждый, который я проверил, не повторял «bind-address» или какие-либо конфигурации вообще.