Я пытался найти ответ, но не могу его найти.
Мне нужно получить удаленный доступ к экземпляру MySQL через локальную рабочую среду MySQL. Порт включен (как мне кажется). Я могу подключиться к нему через Telnet.
Все примеры, которые я вижу, говорят что-то вроде
GRANT ALL PRIVILEGES ON *.* TO USER-NAME@IP IDENTIFIED BY "PASSWORD";
Проблема в том, что я удаленно подключаюсь с динамического IP. Я получаю ошибку
Доступ запрещен для пользователя 'root'@'c-67-166-150-41.hsd1.ca.comcast.net' (с паролем: YES)
Как мне настроить его, чтобы я мог войти? У меня есть root-доступ к MySQL Workbench на удаленном компьютере, если я удаленно управляю им.
Спасибо
Было бы намного лучше, если бы вы использовали какой-то туннель для доступа к системе. Putty / SSH прекрасно предоставляет эту функцию.
Вы должны попробовать использовать "%" для части хоста. Что-то вроде:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
(Взято из Документация MySQL)
Убедитесь, что изменения вступили в силу правильно:
flush privileges
Я бы не рекомендовал открывать MySQL никому, кроме localhost
. Но вы можете удаленно подключиться, если используете клиент, который обрабатывает SSH-туннелирование. Который MySQL Workbench не похоже.
Преимущества SSH-туннелирования заключаются в том, что вы можете обеспечить безопасность сервера, не открывая доступ к MySQL миру. Вы можете настроить SSH-туннелирование вручную, если хотите, но многие клиенты БД уже имеют эту возможность.
На Mac Продолжение Pro работает неплохо.
Это дает вам возможность выбрать соединение через SSH. В этой конфигурации вы вводите следующее:
А теперь о SSH. Это на 100% та же информация, которую вы вводите при входе в сеанс SSH:
И при этом, если вы действительно хотите иметь вход в MySQL на основе чистого IP-адреса, вам следует открыть сервер для доступа к удаленным клиентам, но также иметь брандмауэр во внешнем интерфейсе, который ограничивает доступ к MySQL на основе IP. .