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 免费一键快速抠图,支持下载高清图片

相关推荐
z4424753262 小时前
Go语言如何做API限流_Go语言令牌桶限流教程【深入】
jvm·数据库·python
霍小毛2 小时前
数字孪生+AI重构风电运营:从“靠天吃饭“到“精准掌控“的能源革命
数据库·手机·框架·编程·测试·delete
geNE GENT2 小时前
SQL 中UPDATE 和 DELETE 语句的深入理解与应用
数据库·sql
yanghuashuiyue2 小时前
LangGraph框架研究-生产
python·langchain·langgraph
djjdjdjdjjdj2 小时前
Go语言如何做延迟队列_Go语言延迟消息队列教程【核心】
jvm·数据库·python
weixin_458580122 小时前
如何在 Laravel 中筛选并格式化匹配预定义列表的产品数据
jvm·数据库·python
2301_777599372 小时前
使用 Go 语言安全高效地将 SSH 公钥复制到远程服务器
jvm·数据库·python
后端漫漫2 小时前
Redis 原子能力与并发控制
数据库·redis·缓存
Navicat中国2 小时前
Navicat 企业版数据传输是否支持达梦 → OceanBase迁移?数据迁移报错
数据库·oceanbase·达梦·navicat·数据迁移·数据传输