mysql如何查看所有数据库用户_mysql用户查询管理命令

查 mysql.user 表是最可靠方式,SELECT User, Host FROM mysql.user; 可查用户及允许连接的主机范围,Host 为 % 表示任意 IP,localhost 与 127.0.0.1 视为不同账户。直接查 mysql.user 表是最可靠的方式MySQL 的所有用户信息都固化在 mysql.user 系统表里,不依赖缓存或视图,查它就是查"事实"。其他命令(比如 SHOW USERS)根本不存在------这是新手常搜错的关键词。SELECT User, Host FROM mysql.user; 是最常用、最轻量的写法,返回用户名和允许连接的主机范围注意 Host 列值为 % 表示通配任意 IP,localhost 和 127.0.0.1 在 MySQL 中是两个不同账户,权限不互通如果想看更完整的账户状态(比如是否锁定、密码过期时间),用:SELECT User, Host, account_locked, password_expired, password_last_changed FROM mysql.user;show grants for 'user'@'host' 查权限时必须带完整 host只写 SHOW GRANTS FOR 'admin'; 会报错,因为 MySQL 要求精确匹配 User@Host 元组。哪怕你刚用 CREATE USER 'admin'@'%' IDENTIFIED BY 'pwd'; 创建,也得按原样写全。常见错误现象:ERROR 1141 (42000): There is no such grant defined for user 'admin' on host '%' ------ 很可能是因为实际创建的是 'admin'@'localhost',但你查的是 'admin'@'%'快速确认某用户是否存在且 host 匹配:先执行 SELECT User, Host FROM mysql.user WHERE User = 'admin';权限语句输出里出现 GRANT USAGE ON *.*,说明该用户只有登录权,没授任何数据库级权限别用 root 直接连生产库查用户,尤其别漏掉 --skip-grant-tables 风险有些教程教人重启 mysqld 加 --skip-grant-tables 绕过权限检查来"恢复"用户,这在生产环境等于裸奔------此时任何本地用户都能无密码进库改数据。 灵办AI 免费一键快速抠图,支持下载高清图片

相关推荐
小马爱打代码5 小时前
Redis 集群方案详解:主从复制、哨兵、脑裂、分片集群和哈希槽
数据库·redis·哈希算法
lifloveyou6 小时前
table接口结构
python
比昨天多敲两行6 小时前
linux 线程概念与控制
java·开发语言·jvm
海南java第二人7 小时前
ClickHouse 稀疏索引深度解析:为什么 OLAP 数据库不用 B-Tree?
数据库·clickhouse
Litluecat7 小时前
信创迁移:Oracle切换海量数据库,慢sql扫描
数据库·sql·oracle·信创·海量
消失在人海中7 小时前
Oracle的CURRENT REDO丢失,数据丢失风险分析
数据库·oracle
喵了几个咪7 小时前
选择第三方IAM还是自建权限体系?中小型后台系统权限架构决策指南
数据库·oracle·架构
Warson_L8 小时前
class 扩展
python
Elastic 中国社区官方博客8 小时前
Kibana:使用 AI Chat 及 MCP 轻松创建 AI 原生仪表板
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·信息可视化