在 MariaDB 10 中,创建用户并授权可以通过以下步调完成:
一、创建用户
- -- 创建一个本地用户(仅允许通过 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. 授予基本权限
- -- 授予对某个数据库的所有表的 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. 授予管理权限(如创建数据库/用户)
- -- 授予全局管理权限(谨慎使用)
- GRANT CREATE USER, CREATE DATABASE ON *.* TO 'username'@'host';
复制代码 3. 使用脚色简化权限管理(MariaDB 10.2+ 支持)
- -- 创建角色并授予权限
- CREATE ROLE 'read_role';
- GRANT SELECT ON database_name.* TO 'read_role';
- -- 将角色授予用户
- GRANT 'read_role' TO 'username'@'host';
复制代码 三、刷新权限
- FLUSH PRIVILEGES; -- 使权限生效
复制代码 四、检察用户权限
- -- 查看用户权限
- SHOW GRANTS FOR 'username'@'host';
- -- 查看所有用户信息
- SELECT User, Host FROM mysql.user;
复制代码 五、打消权限
- -- 撤销特定权限
- REVOKE SELECT ON database_name.table_name FROM 'username'@'host';
- -- 撤销所有权限
- REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';
复制代码 六、删除用户
- -- 删除用户(需先撤销其权限)
- DROP USER 'username'@'host';
复制代码 安全建议
暗码安全:使用强暗码,制止明文存储。
最小权限原则:仅授予必要的权限,制止使用 ALL PRIVILEGES。
限制长途登录:优先使用 localhost,若需长途访问,明确指定 IP 范围。
定期清理用户:移除无用账户以低落风险。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |