我一直在尋找通過互聯網很長一段時間的答案。 我如何控制php和MySQL之間的用戶和連接。 我的問題是,當我們通過php創建一個mysql數據庫時,實際上我們在mysql的用戶表中創建用戶。當我連接到數據庫時,我們創建的所有用戶都使用相同的mysql用戶帳戶連接到數據庫。 我是否需要在mysql用戶表中創建任何用戶(我的意思是系統表擁有用戶)?那麼我們用來登錄網站的用戶會在sql數據庫用戶表中匹配用戶呢?然後,每個用戶都有自己的mysql用戶帳戶來連接數據庫。 我該怎麼處理這種情況? 乾杯PHP MySQL連接
0
A
回答
4
我想我理解你的問題,你問的是數據庫方面的用戶管理。
默認情況下,您擁有數據庫中的單個用戶,該用戶擁有(當然)所有權限。這個用戶大部分時間都會被命名爲root
(取決於您的DBMS,但在MySQL的情況下,情況就是這樣)。
所以,你必須IMO兩種選擇:
- 每個應用創建一個新用戶,由於只有所需的特權,如
READ
,INSERT
或UPDATE
。如果你的申請要求,給他DELETE
特權。 - 對於訪問數據庫的所有應用程序使用
root
。 - 創建一個將擁有最普通權限的用戶,該用戶將用於需要與數據庫交互的ALL應用程序。
無論你做什麼,請記住,用戶可以做任何他有權限,所以請注意GRANT
太高的權限。
我認爲這是一種最佳實踐(至少對我來說這種情況總是如此,我認爲它工作得很好),以每個應用爲基礎有一個用戶,例如,當我想要一個應用程序Blog
時,我創建了一個用戶blog
,它具有INSERT
,UPDATE
,SELECT
,[需要的任何]權限。
再一次編輯:所以要回答你的問題:你不需要每個應用程序用戶都有一個MySQL用戶。
1
您的應用程序中的每個用戶應爲而不是是MySQL中的用戶。一般來說,你應該有一個你的整個應用程序使用的MySQL用戶。
0
更好的是,爲每個應用程序創建一個用戶。授予該用戶執行存儲過程的權利,而不是別的。爲您允許該用戶的任何類型的數據庫活動創建存儲過程。它給你另一個安全屏障。
相關問題
- 1. php-mysql連接
- 2. PHP/MySQL連接
- 3. MySQL連接限制和PHP MySQL連接
- 4. PHP連接到MySQL
- 5. PHP和mysql連接
- 6. PHP/MySQL的連接
- 7. 連接Android PHP/MySQL
- 8. 連接php到mysql
- 9. PHP和.NET連接器連接在MySQL
- 10. Php - 將連接池連接到Mysql
- 11. PHP MySQL連接錯誤
- 12. 通過PHP連接mySQL db
- 13. PHP,MySQL和「睡眠」連接
- 14. PHP - MySQL數據庫連接
- 15. 從php連接到mysql
- 16. 丟失連接 - PHP,MySQL的
- 17. php無法連接到mysql
- 18. 使用php mySQL連接android
- 19. 使用PHP連接MYSQL
- 20. PHP,MySQL連接錯誤
- 21. Android連接使用PHP Mysql
- 22. 連接android與php mysql
- 23. PHP MySQL和Android連接
- 24. MYSQL +無法從PHP連接
- 25. 更新連接表PHP MySQL
- 26. php mysql與concat連接表
- 27. 如何連接PHP與MySQL
- 28. 連接Android與PHP和MySQL
- 29. PHP - 連接到MySQL Turnkey Linux
- 30. php不與mysql連接
哇,看完這兩遍後,我真的不知道這裏被問到了什麼。你是指用戶信息的MySQL表,還是你在談論訪問數據庫的實際MySQL用戶帳戶? – jordanstephens 2010-07-02 17:29:24
歡迎來到SO。我無法關注你。你能澄清一下嗎?你在談論mySQL中的用戶表(用於你自己的應用程序)還是mySQL用戶帳戶? – 2010-07-02 17:29:40
我相信他談論的是爲他的PHP應用程序的每個用戶創建一個單獨的MySQL用戶(如在一個MySQL帳戶中訪問特定的表等)。答案是,不。您不需要每個應用程序用戶都有一個MySQL用戶。大多數應用程序只使用1或2個MySQL用戶。 – 2010-07-02 17:51:38