Я пытаюсь настроить мой сервер MySQL в моей системе Debian Linux для удаленного доступа. Однако я столкнулся с проблемой, когда я не могу установить переменную "bind-address". Я попытался установить его с помощью команды mysqladmin --bind-address=0.0.0.0
и возвращает mysqladmin: unknown variable 'bind-address=0.0.0.0'
.
Я также попытался вставить это:
[mysqld] bind-address = 0.0.0.0
в /etc/mysql/my.cnf
а также /etc/mysql/conf.d/mysql.cnf
и перезапустить сервер, запустив service mysql restart
Я бы запустил lsof -Pni :3306
чтобы узнать, взял ли он адрес привязки из файла конфигурации и прослушивал его локальный IP-адрес, и он вернется
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 28978 mysql 20u IPv4 148539 0t0 TCP 127.0.0.1:3306 (LISTEN)
Который указал мне, что он все еще только слушает на месте. Я проверил файл /etc/default/mysql
чтобы убедиться, что не было установленных параметров запуска, которые мешали мне получить доступ к нему удаленно.
Я попытался с параметром протокола, установленным как "TCP", так и "SOCKET", но не работает.
Как я могу заставить MySQL слушать вне локальной сети? Заранее спасибо.
проверить версию mysql
mysql --version
Значение по умолчанию для привязки -A показано ниже:
Так что на самом деле не нужно устанавливать привязку -A ddress для версии выше mysql.
проверить расположение файла конфигурации mysql
$ which mysqld/usr/local/mysql/bin/mysqld $/usr/local/mysql/bin/mysqld --verbose --help | grep -A 1 "Default options" Default options are read from the following files in the given order: /etc/my.cnf/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf ~/.my.cnf
проверьте, существует ли какая-либо связка -A ddress config в вышеуказанных конфигурационных файлах.
перезапустить службу mysqld
service mysqld restart
подтвердите пользователя mysql, созданного с помощью user@'%'
чтобы пользователь мог подключиться к mysql снаружи.