1:查看某用户的权限
show grants for root 或者 ..for root@localhost
查询结果
| GRANT USAGE ON *.* TO 'coffee'@'%' IDENTIFIED BY PASSWORD '。。'
| GRANT ALL PRIVILEGES ON `test`.* TO 'coffee'@'%'
| GRANT ALL PRIVILEGES ON `wechat`.* TO 'coffee'@'%' WITH GRANT OPTION
2:授权
GRANT ALL PRIVILEGES ON `wechat`.* TO 'coffee'@'%' WITH GRANT OPTION
语句中单引号不是必须的(password除外)
意思:授权 ALL 包括 select insert update delete等所有的权限
wechat 是数据库 * 是任意的表
coffee 是用户名 ’%‘ 是任意主机 如果用户coffee不存在, 则新增该用户并将插入到数据库中
with grant option 指的是用户coffee具备grant(其他用户的)权限
最后:提交修改
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
注意一下 那个 % 这个ip可以访问吧
我如果用JDBC连接数据库,会报一个如下的错误
Access denied for user 'coffee'@'localhost' (using password: YES)
解决办法
GRANT ALL ON wechat`.* TO coffee@localhost
这样就没事了。