GRANT 允許你將你自己的權(quán)限授予別人,包括GRANT。 PROCESS 允許你通過使用SHOW PROCESS語句或mysqladmin process命令查看服務器內(nèi)正在運行的線程(進程)的信息。這個權(quán)限也允許你用KILL語句或mysqladmin kill命令殺死線程。 你總是能看到或殺死你自己的線程。PROCESS權(quán)限賦予你對任何線程做這些事情的能力。
Db 在columns_priv和tables_priv表中,Db值必須是真正的數(shù)據(jù)庫名(照字面上),不允許模式和空白。在db和host中,Db值可以以字面意義指定或使用SQL模式字符%或_指定一個通配符。一個%或空白匹配任何數(shù)據(jù)庫。 Table_name,Column_name 這些列中的值必須是照字面意思的表或列名,不允許模式和空白。 某些范圍列被服務器視為大小寫敏感的,其余不是。這些原則總結(jié)在下表中。特別注意Table_name值總是被看作大小寫敏感的,即使在查詢中的表名的大小寫敏感性對待視服務器運行的主機的文件系統(tǒng)而定(UNIX下是大小寫敏感,而Windows不是)。
表3 授權(quán)表范圍列的大小寫敏感性 列 Host User Password Db Table_name Column_name 大小寫敏感性 No Yes Yes Yes Yes No
LOAD DATA INFILE "./other_db/x.frm" INTO TABLE tmp FIELDS ESCAPED BY "" LINES TERMINATED BY ""; SELECT * FROM tmp INTO OUTFILE "y.frm" FIELDS ESCAPED BY "" LINES TERMINATED BY ""; DELETE FROM tmp; LOAD DATA INFILE "./other_db/x.ISD" INTO TABLE tmp FIELDS ESCAPED BY "" LINES TERMINATED BY ""; SELECT * FROM tmp INTO OUTFILE "y.ISD" FIELDS ESCAPED BY "" LINES TERMINATED BY ""; DELETE FROM tmp; LOAD DATA INFILE "./other_db/x.ISM" INTO TABLE tmp FIELDS ESCAPED BY "" LINES TERMINATED BY ""; SELECT * FROM tmp INTO OUTFILE "y.ISM" 現(xiàn)在你擁有了一個新表y,它包含other_db.x的內(nèi)容并且你有全權(quán)訪問它。 為避免讓人以同樣的方式攻擊,根據(jù)“第一部分 內(nèi)部安全性-保護你的數(shù)據(jù)目錄”中的指令設置你的數(shù)據(jù)目錄上的權(quán)限。你也可以在你啟動服務器時使用--skip-show-database選項限制用戶對于他們沒用訪問權(quán)限的數(shù)據(jù)庫使用SHOW DATABASES和SHOW TABLES。這有助于防止用戶找到關(guān)于它們不能訪問的數(shù)據(jù)庫和表的信息。