在这个问题上只有我的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";
显然这是行不通的,我终于使用Mike Lischke的答案使它起作用。
我认为发生的是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服务。
希望这可以帮助遇到同样问题的人!