我的情况是这样的:我有两台服务器,一台是运行 IIS 并保存我的网站的 windows 服务器。另一个是装有我的 mysql 服务器的 linux 服务器。
我在 mysql 服务器上创建了一个具有最低权限的(mysql)用户,并且在从我的网站连接运行查询时使用它的凭据。
但是当我运行查询并检查 mysql 服务器上运行的进程(mysql> show processlist)时,我看到我执行的查询(来自网站)正在 (mysql) root 帐户下运行!
知道为什么会发生这种情况吗?
Hituptony 明白了 :-) 我的查询由 SP 处理,并变成一个准备好的语句然后运行......那个 SP 是用 root 帐户定义的(天知道为什么),而且更多的没有“调用者” "安全条款。
http://dev.mysql.com/doc/refman/5.5/en/stored-programs-security.html