在Ubuntu終端中,使用root用戶或具有sudo權限的用戶登錄MariaDB服務器:
sudo mysql -u root -p
輸入root用戶的密碼后,進入MariaDB命令行界面(提示符為MariaDB [(none)]>
)。
根據需求創建本地用戶或遠程用戶,語法如下:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'StrongPassword123!';
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;
使更改生效。
SELECT
、INSERT
、UPDATE
權限,避免使用ALL PRIVILEGES
)。localhost
或具體IP地址,避免使用%
允許任意主機連接;若需遠程訪問,需通過防火墻限制端口(默認3306)的訪問源。SELECT User, Host FROM mysql.user;
查看用戶列表,移除無用賬戶(如測試賬戶)。若偏好圖形化操作,可通過以下命令安裝phpMyAdmin:
sudo apt update
sudo apt install phpmyadmin
安裝過程中選擇apache2
作為Web服務器,配置數據庫時使用root用戶和密碼。安裝完成后,通過瀏覽器訪問http://服務器IP/phpmyadmin
即可管理MariaDB用戶和權限。