MySQL學習筆記之二十一 使用者的許可權

2021-06-22 08:58:26 字數 1643 閱讀 3114

一、資料庫和表的許可權

下列許可權運用於資料庫和表上的操作。

select

允許你使用select語句從表中檢索資料。select語句只有在他們真正從乙個表中檢索行是才需要select許可權,你可以執行某個select語句,甚至沒有任何到伺服器上的資料

庫里的訪問任何東西的許可。例如,你可使用mysql客戶作為乙個簡單的計算器:

mysql> select 1+1;

mysql> select pi()*2;

update

允許你修改表中的已有的記錄。 

insert

允許在表中插入記錄。

delete

允許你從表中刪除現有記錄。

alter

允許你使用alter table語句,這其實是乙個簡單的第一級許可權,你必須由其他許可權,這看你想對資料庫實施什麼操作。

create

允許你建立資料庫和表,但不允許建立索引。

drop

允許你刪除(拋棄)資料庫和表,但不允許刪除索引。

注意:如果你將mysql資料庫的drop許可權授予乙個使用者,該使用者能拋棄儲存了mysql訪問許可權的資料庫!

index

允許你建立並刪除索引。

references

目前不用。

二、管理許可權

下列許可權運用於控**務器或使用者授權能力的操作的管理性操作。

file

允許你告訴伺服器讀或寫伺服器主機上的檔案。該許可權不應該隨便授予,它很危險,見「迴避授權表風險」。伺服器確實較謹慎地保持在一定範圍內使用該許可權。你只能讀

任何人都能讀的檔案。你正在寫的檔案必須不是現存的檔案,這防止你迫使伺服器重寫重要檔案,如/etc/passwd或屬於別人的資料庫的資料目錄。

如果你授權file許可權,確保你不以unix的root使用者執行伺服器,因為root可在檔案系統的任何地方建立新檔案。如果你以乙個非特權使用者執行伺服器,伺服器只能在給使用者

能訪問的目錄中建立檔案。

grant

允許你將你自己的許可權授予別人,包括grant。

process

允許你通過使用show process語句或mysqladmin process命令檢視伺服器內正在執行的執行緒(程序)的資訊。這個許可權也允許你用kill語句或mysqladmin kill命令殺死線

程。你總是能看到或殺死你自己的執行緒。process許可權賦予你對任何執行緒做這些事情的能力。

reload

允許你執行大量的伺服器管理操作。你可以發出flush語句,你也能指性mysqladmin的reload、refresh、flush-hosts、flush-logs、flush-privileges和flush-tables等

命令。shutdown

允許你用mysqladmin shutdown關閉伺服器。

在user、db和host表中,每乙個許可權以乙個單獨的列指定。這些列全部宣告為乙個enum("n","y")型別,所以每個權的預設值是「n」。在tables_priv和columns_priv中的

許可權以乙個set表示,它允許許可權用乙個單個列以任何組合指定。這兩個錶比其他三個表更新,這就是為什麼它們使用更有效的表示方式的原因。(有可能在未來,user、db和

host表也用乙個set型別表示。)

MYSQL入門學習之二十一 MYSQL使用者管理

一 新增使用者 1 直接新增 mysql insert into mysql.user host,user,password values testuser password testuser 2 新增使用者並賦權 mysql grant select on test.to testuser1 lo...

MYSQL入門學習之二十一 MYSQL使用者管理

一 新增使用者 1 直接新增 mysql insert into mysql.user host,user,password values testuser password testuser 2 新增使用者並賦權 mysql grant select on test.to testuser1 lo...

python 學習筆記(二十一)

coding utf8 author liwei windows平台多程序匯入multiprocessing模組 from multiprocessing import process,queue from multiprocessing import pool import os,time,ran...