1. 程式人生 > >mysql grant 授權

mysql grant 授權

1:檢視某使用者的許可權

show grants for root    或者 ..for [email protected]
查詢結果
| 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 [email protected]  
這樣就沒事了。