show processlist; 不显示进程端口号问题

netxuning 2009-12-04 03:55:06
网上看到一些文章,show processlist后,host字段除了显示mysql进程发起者的主机还显示端口:

mysql> show processlist;
+——–+——–+—————–+——+———+——+——-+——————+
| Id | User | Host | db | Command | Time | State | Info |
+——–+——–+—————–+——+———+——+——-+——————+
| 277801 | mydbuser | localhost:35558| mydb | Sleep | 1 | | NULL |
| 277804 | mydbuser | localhost:35561| mydb | Sleep | 1 | | NULL |
| 277805 | mydbuser | localhost:35562| mydb | Sleep | 0 | | NULL |
+——–+——–+—————–+——+———+——+——-+——————+


但是我的为什么只显示主机而没有端口呢?
| 523601 | myuser | localhost | mydb | Query | 0 | Sending data

版本号是5.1.37-log
...全文
224 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
netxuning 2009-12-04
  • 打赏
  • 举报
回复
http://www.mombu.com/programming/php/t-replace-localhost-unix-socket-connection-by-localhost-tcpip-connection-1367681.html

localhost -> Unix socket
127.0.0.1 -> TCP socket
netxuning 2009-12-04
  • 打赏
  • 举报
回复
找到方法了版主:
mysql -h 127.0.0.1 -u user -p

连接的时候,host指定ip则成为了tcp连接,如果是localhost,则为unix socket.

这样连接后:

mysql> show processlist;
+--------+------+-----------------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+------+-----------------+------+---------+------+-------+------------------+
| 601258 | root | localhost:55207 | NULL | Query | 0 | NULL | show processlist |
+--------+------+-----------------+------+---------+------+-------+------------------+
ACMAIN_CHM 2009-12-04
  • 打赏
  • 举报
回复
那就一切正常啊。
netxuning 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 acmain_chm 的回复:]
换台其它机器通过 tcp/ip 连一下试试。
[/Quote]

没问题,连接命令是:
mysql -h 192.168.0.12 -u ruser -P 3306 -p
而且这台机器一直在进行主从同步!
主从同步的两个进程均有端口号:

+--------+------+------------------+------+-------------+--------+----------------------------------------------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+------+------------------+------+-------------+--------+----------------------------------------------------------------+------------------+
| 2449 | ruser | 192.168.0.13:56841 | NULL | Binlog Dump | 246371 | Has sent all binlog to slave; waiting for binlog to be updated | NULL |
| 531488 | ruser | 192.168.0.13:46220 | NULL | Query | 0 | NULL | show processlist |
+--------+------+------------------+------+-------------+--------+----------------------------------------------------------------+------------------+
ACMAIN_CHM 2009-12-04
  • 打赏
  • 举报
回复
换台其它机器通过 tcp/ip 连一下试试。
netxuning 2009-12-04
  • 打赏
  • 举报
回复
那要如何做呢?
netxuning 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 acmain_chm 的回复:]
你是如何连上去的,如果在UNIX下通过sock连上去自然没有PORT号。
[/Quote]

是sock, 启动命令有这样的参数:--socket=/var/lib/mysql/mysql.sock --port=3306
ACMAIN_CHM 2009-12-04
  • 打赏
  • 举报
回复
你是如何连上去的,如果在UNIX下通过sock连上去自然没有PORT号。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧