Error 1044: Access denied for user ‘syz-remote’@‘%’ to database ‘webapp’
起因:我在测试Golang 连接数据库的代码,好不容易重装了MySQL 并且设置了远程登录,但是仍然出现了这个问题。
我的syz-remote 这个账户是专门为了远程登录创建的账户,因此它与root 用户不同,灭有得到应有的权限。我们需要在MySQL 里面设置它的权限。
通过此代码查看MySQL 账户权限
mysql> SELECT host,user,password_expired,Grant_priv,Super_priv FROM mysql.user;
+-----------+------------------+------------------+------------+------------+
| host | user | password_expired | Grant_priv | Super_priv |
+-----------+------------------+------------------+------------+------------+
| localhost | root | N | Y | Y |
| localhost | mysql.session | N | N | Y |
| localhost | mysql.sys | N | N | N |
| localhost | debian-sys-maint | N | Y | Y |
| % | syz-remote | N | N | N |
+-----------+------------------+------------------+------------+------------+
5 rows in set (0.00 sec)
可以看到syz-remote 账户得Grant_priv 和Super_priv 权限是N
我们给他赋予权限
update mysql.user set grant_priv = 'Y', Super_priv='Y' where user = 'syz-remote';
再重新刷新一下
flush privilegs;
参考
|