應用剛上線,爲了防止誤刪數據,準備建一個用戶,只能查詢和修改,不能刪除。
下面記錄下步驟:
1、添加用戶:
先進入mysql:mysql -hlocalhost -uroot -ppassword
insert into mysql.user(Host,User,Password) values("localhost","liliang",password("liliang123"));
退出mysql,用mysql -hlocalhost -uliliang -pliliang123登錄,登錄不上。
再用root用戶登錄mysql,執行修改密碼:
mysql> update mysql.user set password=password('liliang') where User='liliang' and Host='localhost';
mysql> flush privileges;
mysql> exit;
退出後使用mysql -hlocalhost -uliliang -pliliang,這次就登錄成功了。不知道第一次是不是輸錯密碼了。
2、查看當前登錄用戶:
mysql> select current_user();
+-------------------+
| current_user() |
+-------------------+
| liliang@localhost |
+-------------------+
1 row in set (0.00 sec)
3、設置用戶權限:
mysql> grant select,update on model_manager.* to liliang@localhost identified by 'liliang123';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
給用戶賦予所有權限:grant all privileges on model_manager.* to liliang@'localhost';
4、查詢用戶權限:
show grants for liliang@'localhost';
+-----------------------------------------------------------------------------------------------------------------+
| Grants for liliang@localhost |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT SELECT ON *.* TO 'liliang'@'localhost' IDENTIFIED BY PASSWORD '*8B033CFE2F67312D6F596F698110934FCDD28B23' |
| GRANT UPDATE ON `model_manager`.* TO 'liliang'@'localhost' |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
5、收回用戶權限:
revoke update on model_manager.* from liliang@'localhost';
執行完這個之後再試試更新表中的數據,已經無法更新了。