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 范围。

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

相关推荐
Mr.Pascal20 分钟前
Redis:主动更新,读时更新,定时任务。三种的优劣势对比
数据库·redis·缓存
思成不止于此1 小时前
【MySQL 零基础入门】DQL 核心语法(二):表条件查询与分组查询篇
android·数据库·笔记·学习·mysql
骥龙1 小时前
3.10、构建网络防线:防火墙、WAF 与蜜罐实战
服务器·网络·数据库·网络安全
gugugu.3 小时前
Redis 字符串类型完全指南:从原理到实战应用
数据库·redis·缓存
杨云龙UP3 小时前
MySQL 自动备份与覆盖恢复实战:一套脚本搞定全库/按库备份恢复
linux·运维·数据库·sql·mysql
workflower4 小时前
PostgreSQL 数据库优化
数据库·团队开发·数据库开发·时序数据库·数据库架构
计算机毕设VX:Fegn08955 小时前
计算机毕业设计|基于springboot + vue服装商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·课程设计
WX-bisheyuange6 小时前
基于Spring Boot的智慧校园管理系统设计与实现
java·大数据·数据库·毕业设计
JavaGuide6 小时前
对标MinIO!全新一代分布式文件系统诞生!
数据库·后端
快乐非自愿7 小时前
数据库如何处理大量的交易流水记录
数据库·oracle