Просто мои 2 цента на эту тему. У меня возникла та же проблема с попыткой подключения из MySQL Workbench. Я использую виртуальную машину bitnami-mysql для настройки локальной песочницы для разработки.
В руководстве Bitnami сказано, что нужно выполнить команду «Предоставить все привилегии»:
/opt/bitnami/mysql/bin/mysql -u root -p -e "grant all privileges on *.* to 'root'@'%' identified by 'PASSWORD' with grant option";
Это явно не работало, я наконец-то заставил его работать, используя ответ Майка Лишке.
Мне показалось, что у пользователя root @% были неверные учетные данные. Так что, если вы пытались изменить привилегии пользователя и безуспешно, попробуйте:
- Удаление пользователя.
- Создайте пользователя снова.
- Убедитесь, что в вашем конфигурационном файле my.cnf установлена правильная привязка. В моем случае я прокомментировал строку, так как это только для среды песочницы.
Из Mysql Console:
Список пользователей (полезно видеть всех ваших пользователей):
select user, host from mysql.user;
Удалить желаемый пользователь:
drop user '{{ username }}'@'%';
Создание пользователя и предоставление разрешений:
CREATE USER '{{ username }}'@'%' IDENTIFIED BY '{{ password }}';
GRANT ALL PRIVILEGES ON *.* TO '{{ username }}'@'%' WITH GRANT OPTION;
Запустите эту команду:
FLUSH PRIVILEGES;
Найдите ваш конфигурационный файл mysql 'my.cnf' и найдите строку, которая выглядит следующим образом:
bind-address=127.0.0.1
и прокомментируйте его, используя '#':
#bind-address=127.0.0.1
Затем перезапустите службу mysql.
Надеюсь, это поможет кому-то, у кого возникла та же проблема!