MySQL預存程序之安全性原則

來源:互聯網
上載者:User

標籤:

1. CREATE ROUTINE

1 GRANT CREATE ROUTINE  2 ON database-name . *  3 TO user(s)   4 [WITH GRANT OPTION]; 

  CREATE ROUTINE可以建立預存程序和函數,還可以建立視圖和表.現在內建的root擁有該許可權,同時清空有ALTER ROUTINE許可權.

2. EXECUTE

1 GRANT EXECUTE  2 ON database-name . *  3 TO user(s)   4 [WITH GRANT OPTION]; 

  EXECUTE決定是否可以使用或執行預存程序,預存程序的建立者預設擁有這個許可權.

3. SHOW ROUTINE

1 GRANT SHOW ROUTINE2 ON database-name . *  3 TO user(s)   4 [WITH GRANT OPTION]; 

  由於我們預設已擁有了控制視圖的GRANT SHOW VIEW特權,在此基礎上,為保證相容,將來可能會添加GRANT SHOW ROUTINE特權

4. INVOKERS AND DEFINERS 

1 CREATE PROCEDURE p26 ()    2     SQL SECURITY INVOKER3     SELECT COUNT(*) FROM t //4 CREATE PROCEDURE p27 ()5     SQL SECURITY DEFINER6     SELECT COUNT(*) FROM t //7 GRANT INSERT ON db5.* TO peter; //

  上面的例子前面已提到,你是root使用者建立兩個預存程序並將插入許可權賦給peter.注意peter沒有對錶t的select許可權,只有root使用者有.正因如此,以上代碼Peter調用p26會失敗,而調用p27會成功,原因見之前章節描述.

MySQL預存程序之安全性原則

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.