我在一个棘手的服务器上遇到了不少问题。
我目前的主要问题之一是 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 套接字”。