1. 程式人生 > >MySQL學習之權限管理

MySQL學習之權限管理

select inf table 要去 leg ges 概念 權限查看 eat

MySQL學習之權限管理

權限管理

在MySQL中將權限管理分為三類

1.數據權限:增刪改查 (select\update\delete\insert)

2.結構權限:結構操作(create\drop\alter)

3.管理權限:權限管理(create user\grant\revoke),通常只給管理員如此權限。

授予權限:grant

將權限分配給指定的用戶

基本語法:grant 權限列表 on 數據庫/*.表名/* to 用戶;

權限列表:使用逗號分隔,但是可以使用 all privileges 代表全部權限。

數據庫.表名:可以是單表(數據庫名字.表名),可以是具體某個數據庫(數據庫,*),也可以是整庫(*.*);

數據庫名字.表名:指的是對應數據庫中對應數據表。

*.表名:指的是將所有數據庫中的數據表。

*.*:指的是所有數據庫中的所有表。

技術分享圖片

可以理解為:將對school數據庫中的my_int數據表的查詢權限賦予lixiaochi用戶。

具體權限查看:單表權限只能看到數據庫中的一張表。

技術分享圖片

*.表名:指的是將所有數據庫中的數據表。

技術分享圖片

技術分享圖片

取消權限:revoke

權限回收:將權限從用戶手中收回

基本語法:revoke 權限列表(all privileges)on 數據庫/*.表名/* from 用戶;

revoke all privileges on school.* from lixiaochi@‘%‘;

技術分享圖片

技術分享圖片

刷新權限:flush

Flush:刷新,將當前對用戶的權限操作,進行一個刷新,將操作的具體內容同步到對應的表中。

基本語法:flush privileges;

技術分享圖片

密碼丟失的解決方案

如果忘記了root用戶的密碼,就需要去找回或者是重置root用戶。

1.停止服務; net stop mysql

技術分享圖片

2.重新啟動服務: mysqld.exe --skip-grant-tables;

3.當前啟動的服務器沒有權限概念,非常危險,任何客戶端,不需要任何用戶信息都可以直接登錄,

而且是root權限,新開客戶端,使用mysql.exe登錄即可。

4.修改root用戶的密碼。指定 用戶名@host : alter user ‘用戶名‘@‘host‘ identified by ‘123456‘;

5.趕緊關閉服務器,重啟服務。

MySQL學習之權限管理