Только мои 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:
Список пользователей (полезно видеть всех ваших пользователей):
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.
Надеюсь, это поможет кому-то, у кого такая же проблема!