无法从 MySQL 获取 TCPdump

无法从 MySQL 获取 TCPdump

我在一个棘手的服务器上遇到了不少问题。

我目前的主要问题之一是 tcpdump 似乎无法获取发送到 mysql 的数据包,除非我对 MySQL 稍加修改。

这是我所运行的:

tcpdump -s 65535 -x -nn -q -tttt -i any -c 99999 端口 3306

当我运行它时,没有显示任何输出。

但是,如果我使用以下方式登录 mysql

mysql -h 127.0.0.1

..然后 tcpdump 确实显示了一些输出。

我的问题是来自 apache 的当前流量无法使用 tcpdump 显示,而且我不知道是否需要更改 tcpdump、MySQL 或 apache 中的参数。

更多信息:

netstat -tap | grep mysql

tcp        0      0 *:mysql   *:*                         LISTEN      2238/mysqld

猫/等/主机

127.0.0.1               localhost localhost.localdomain

有人可以帮忙吗?

答案1

您没有看到使用 tcpdump 的流量,因为 MySQL 没有使用 TCP,而是使用 Unix 套接字。您需要配置数据库客户端(可能是 PHP 应用程序,尽管我猜理论上您可以使用 Apache 本身与 MySQL 通信)以连接到127.0.0.1,因为localhost(通常是默认值)是一个特殊值,表示对 MySQL 客户端库“使用 Unix 套接字”。

相关内容