在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用户和权限。