MySQL 使用者權限

MySQL 資料庫的使用者權限簡介 當使用以下語法建立一個新的 MySQL 使用者時, CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>'; 這個使用者在一開始沒有什麼權限。可以說,它什麼都不能做。 它無法讀取任何現有資料庫的資料,更不能修改資料。甚至無法建立新的資料庫。 如果要讓使用者做任何事情,你必須授予權限給它。 你可以使用 GRANT 命令來這麼做。 我們可以使用 GRANT <permission>,使用以下權限關鍵字: CREATE DROP DELETE INSERT SELECT UPDATE ALL PRIVILEGES 給使用者權限去建立新資料庫 GRANT CREATE ON *.* TO '<username>'@'localhost'; 給使用者權限在特定資料庫中建立新表格 GRANT CREATE ON <database>.* TO '<username>'@'localhost'; 給使用者權限讀取(查詢)特定資料庫 GRANT SELECT ON <database>.* TO '<username>'@'localhost'; 給使用者權限讀取特定資料庫的表格 GRANT SELECT ON <database>.<table> TO '<username>'@'localhost'; 給使用者權限在特定資料庫中插入、更新和刪除資料列 GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost'; 給使用者權限刪除特定資料庫的表格 GRANT DROP ON <database>.* TO '<username>'@'localhost'; 給使用者權限刪除資料庫 GRANT DROP ON *....

PostgreSQL 使用者權限

在這篇教學中,我將解釋如何在 PostgreSQL 中管理使用者和權限。 在 PostgreSQL 中,一切都是圍繞著「角色(role)」的概念建立的。 在 macOS 安裝 PostgreSQL 時,安裝腳本會根據你的 macOS 使用者名稱建立一個角色,並且賦予一組權限。 在 PostgreSQL 中沒有使用者,只有角色。 透過在終端機中執行 psql postgres 命令,你會使用你的 macOS 使用者名稱自動登入 PostgreSQL,從而訪問被建立的角色。 在我的情況下,一個名為 flaviocopes 的角色已被建立,你可以使用 \du 命令來查看: 看到了嗎?我預設擁有以下的角色屬性: Superuser Create role Create DB Replication Bypass RLS 而且,我不屬於任何其他角色(稍後會講到這個)。 建立新角色 可以使用 CREATE ROLE 命令來創建新的角色: CREATE ROLE <role>; 例如: CREATE ROLE testing; 我們創建了一個新的角色,預設帶有 Cannot login 角色屬性。我們新建的使用者將無法登入。 你可以嘗試輸入 \q 命令退出,然後使用 psql postgres -U testing 命令,但你會看到以下錯誤: 為了解決此問題,我們需要在創建時加上 LOGIN 角色屬性: CREATE ROLE <role> WITH LOGIN; 如果我們刪除該角色:...