查 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 免费一键快速抠图,支持下载高清图片
相关推荐
TEC_INO几秒前
Linux57:读取人脸数据库并保存到map原来是猿几秒前
TCP Echo Server 深度解析:从单进程到线程池的演进之路(下)2301_812539672 分钟前
mysql如何限制用户连接数_使用MAX_USER_CONNECTIONS优化并发MongoDB 数据平台3 分钟前
MongoDB 驱动效能革新:盖雅工场报表查询效率跃升8倍欢璃7 分钟前
表白墙案例X566112 分钟前
Python Django怎么处理404_关闭DEBUG模式并自定义配置全局404与500友好错误重定向页面m0_7485548114 分钟前
golang如何集成Etcd配置中心_golang Etcd配置中心集成方法hnxaoli17 分钟前
win10小程序(二十一)凭证汇总重复值抽取qwert103718 分钟前
深入解析Python标识符:定义、规则、规范与实践指南Jetev18 分钟前
Golang怎么做API网关_Golang API网关教程【总结】