溫馨提示×

Ubuntu MariaDB權限設置方法

小樊
44
2025-10-12 06:26:18
欄目: 云計算

Ubuntu系統下MariaDB權限設置方法

一、前置準備:登錄MariaDB

在Ubuntu終端中,使用root用戶或具有sudo權限的用戶登錄MariaDB服務器:

sudo mysql -u root -p

輸入root用戶的密碼后,進入MariaDB命令行界面(提示符為MariaDB [(none)]>)。

二、創建數據庫用戶

根據需求創建本地用戶或遠程用戶,語法如下:

  • 本地用戶(僅允許從本機連接)
    CREATE USER 'username'@'localhost' IDENTIFIED BY 'StrongPassword123!';
    
  • 遠程用戶(允許從指定IP連接)
    CREATE USER 'username'@'192.168.1.100' IDENTIFIED BY 'StrongPassword123!';
    
  • 任意主機用戶(謹慎使用,僅限測試環境)
    CREATE USER 'username'@'%' IDENTIFIED BY 'StrongPassword123!';
    

    注:username為用戶標識,localhost/IP/%為主機限制,StrongPassword123!需替換為包含大小寫字母、數字和符號的復雜密碼。

三、分配數據庫權限

根據業務需求分配不同粒度的權限,常見場景如下:

  • 授予單個數據庫的所有權限(適用于需要完全管理某數據庫的用戶):
    GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
    
  • 授予單個數據庫的特定權限(遵循最小權限原則,推薦用于應用用戶):
    GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.* TO 'username'@'localhost';
    
  • 授予所有數據庫的所有權限(僅用于管理員賬戶,如root替代用戶):
    GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost';
    

    注:database_name.*表示指定數據庫的所有表,*.*表示所有數據庫的所有表。

四、使權限生效

執行以下命令使權限變更立即生效:

FLUSH PRIVILEGES;

該命令會重新加載MariaDB的權限表,無需重啟服務。

五、驗證權限設置

通過以下命令確認用戶權限是否正確分配:

SHOW GRANTS FOR 'username'@'localhost';

示例輸出(本地用戶擁有mydatabase數據庫的所有權限):

+--------------------------------------------------------------+
| Grants for username@localhost                                |
+--------------------------------------------------------------+
| GRANT USAGE ON *.* TO `username`@`localhost`                 |
| GRANT ALL PRIVILEGES ON `mydatabase`.* TO `username`@`localhost` |
+--------------------------------------------------------------+

注:USAGE表示基礎連接權限,后續授權會疊加顯示。

六、撤銷權限與刪除用戶

  • 撤銷特定權限(如收回用戶的DELETE權限):
    REVOKE DELETE ON database_name.* FROM 'username'@'localhost';
    
  • 撤銷所有權限(徹底清除用戶的權限):
    REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'localhost';
    
  • 刪除用戶(需先撤銷其所有權限):
    DROP USER 'username'@'localhost';
    

    注:撤銷權限后必須執行FLUSH PRIVILEGES;使更改生效。

七、安全注意事項

  1. 最小權限原則:僅授予用戶完成工作所需的最低權限(如應用用戶僅需SELECT、INSERT、UPDATE權限,避免使用ALL PRIVILEGES)。
  2. 限制遠程訪問:優先使用localhost或具體IP地址,避免使用%允許任意主機連接;若需遠程訪問,需通過防火墻限制端口(默認3306)的訪問源。
  3. 密碼安全:使用強密碼(長度≥12位,包含大小寫字母、數字和特殊符號),并定期更換密碼。
  4. 定期審計:定期通過SELECT User, Host FROM mysql.user;查看用戶列表,移除無用賬戶(如測試賬戶)。

八、可選:安裝圖形化管理工具(如phpMyAdmin)

若偏好圖形化操作,可通過以下命令安裝phpMyAdmin:

sudo apt update
sudo apt install phpmyadmin

安裝過程中選擇apache2作為Web服務器,配置數據庫時使用root用戶和密碼。安裝完成后,通過瀏覽器訪問http://服務器IP/phpmyadmin即可管理MariaDB用戶和權限。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女