在上面的输出中,%(百分号)代表什么意思?
mysql> show processlist;
+------+--------+----------------------+----------+---------+------+--------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+------+--------+----------------------+----------+---------+------+--------------+------------------------------------------------------------------------------------------------------+ |
| 1112 | usr | %:51506 | db | Query | 0 | Sending data | CALL `db`.`GetAllHistory`('.............', '...................') |
| 1127 | usr | %:56805 | db | Query | 1 | Sending data | SELECT ........
除了在某些情况下作为通配符之外,我无法在在线文档或其他地方找到它。
答案1
在您列出的输出中,Host
列下的%
符号是一个通配符,表示任何主机都可以连接到数据库。当用户与 MySQL 实例位于同一主机上时,localhost 和 127.0.0.1 是典型的主机。通配符允许任何拥有“usr”凭据的人从任何 IP 地址(即世界上的任何地方)连接到“db”(或用户有权访问的任何其他数据库)。这是不安全的,但也许你在其他地方处理安全性,例如防火墙。