上一篇
场景引入:
凌晨3点,你突然被报警短信惊醒——某台服务器的MySQL实例出现异常登录,作为DBA,你第一反应是:“现在谁有权限访问这个数据库?” 💻⚡ 别慌!学会快速查看MySQL全部用户及其权限,是每个数据库管理员的必备技能。
SELECT User, Host FROM mysql.user;
👉 效果:列出所有用户名及允许登录的主机
👉 升级版:显示更多信息
SELECT User, Host, account_locked, password_expired FROM mysql.user;
SHOW USERS;
⚠️ 注意:仅MySQL 8.0及以上版本支持
SELECT * FROM mysql.user \G
✨ 小技巧:\G
代替分号,让结果垂直显示更易读
想知道某个用户具体能操作哪些数据库?试试这个:
SHOW GRANTS FOR '用户名'@'主机';
🎯 示例:
SHOW GRANTS FOR 'app_user'@'192.168.%';
SELECT * FROM mysql.user
,可能返回大量数据 Host='%'
的用户要特别警惕(允许任意IP连接) authentication_string
ALTER USER '可疑用户'@'%' ACCOUNT LOCK;
最后的小测验 🧠:
你知道如何查看当前登录的MySQL用户吗?试试这个:
SELECT CURRENT_USER();
(本文操作验证环境:MySQL 8.0.33,2025年8月更新)
下次遇到半夜的数据库警报,记得先用这些命令快速排查用户权限问题哦! 🚨→🛠️
本文由 所冷萱 于2025-08-02发表在【云服务器提供商】,文中图片由(所冷萱)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/511121.html
发表评论