MariaDB10创建用户并授权

在 MariaDB 10 中,创建用户并授权可以通过以下步骤完成:

一、创建用户

sql 复制代码
-- 创建一个本地用户(仅允许通过 localhost 登录)
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

-- 创建一个允许远程登录的用户(需替换为实际 IP 或域名)
CREATE USER 'username'@'192.168.1.100' IDENTIFIED BY 'password';

-- 允许用户从任意主机登录(谨慎使用)
CREATE USER 'username'@'%' IDENTIFIED BY 'password';

参数说明:

username:用户名称

host:登录主机(如 localhost、IP 地址或 %)

password:用户密码(建议使用复杂密码)

二、授予权限

1. 授予基本权限

sql 复制代码
-- 授予对某个数据库的所有表的 SELECT/INSERT/UPDATE/DELETE 权限
GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.table_name TO 'username'@'host';

-- 授予对整个数据库的所有权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

2. 授予管理权限(如创建数据库/用户)

sql 复制代码
-- 授予全局管理权限(谨慎使用)
GRANT CREATE USER, CREATE DATABASE ON *.* TO 'username'@'host';

3. 使用角色简化权限管理(MariaDB 10.2+ 支持)

sql 复制代码
-- 创建角色并授予权限
CREATE ROLE 'read_role';
GRANT SELECT ON database_name.* TO 'read_role';

-- 将角色授予用户
GRANT 'read_role' TO 'username'@'host';

三、刷新权限

sql 复制代码
FLUSH PRIVILEGES;  -- 使权限生效

四、查看用户权限

sql 复制代码
-- 查看用户权限
SHOW GRANTS FOR 'username'@'host';

-- 查看所有用户信息
SELECT User, Host FROM mysql.user;

五、撤销权限

sql 复制代码
-- 撤销特定权限
REVOKE SELECT ON database_name.table_name FROM 'username'@'host';

-- 撤销所有权限
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';

六、删除用户

sql 复制代码
-- 删除用户(需先撤销其权限)
DROP USER 'username'@'host';

安全建议

密码安全:使用强密码,避免明文存储。

最小权限原则:仅授予必要的权限,避免使用 ALL PRIVILEGES。

限制远程登录:优先使用 localhost,若需远程访问,明确指定 IP 范围。

定期清理用户:移除无用账户以降低风险。

相关推荐
Elastic 中国社区官方博客7 小时前
将你自己的密钥用于现有 Elastic Cloud 部署
大数据·数据库·elasticsearch·全文检索
红海云8 小时前
Jev:给智能系统做判断的模型
大数据·数据库·人工智能
wjkjpcba8 小时前
PCBA烧录程序是什么:PCBA包工包料厂家解析烧录与测试
linux·数据库·人工智能·smt贴片加工·pcba贴片加工厂
꯭自꯭闭꯭8 小时前
达梦事物特性及MVCC
linux·运维·数据库
小马同学-9 小时前
MySQL主从复制和读写分离
数据库·mysql
谢亮_vipxieliang9 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
geovindu10 小时前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
IT大白鼠10 小时前
图数据库系列 · 第 02 篇——架构拆解:原生图存储到因果集群
数据库·架构·nosql
EatFan11 小时前
从“框架混战“到“运行时收敛“:2026 年 AI Agent 开发框架的三条路线之争
java·数据库·人工智能·多智能体·ai agent·mcp·agent 框架
小蒜学长11 小时前
基于SpringBoot的佳新超市管理系统设计与实现系统(代码+数据库+LW)
java·数据库·spring boot·后端·佳新超市管理系统