SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。show processlist;只列出前100条,如果想全列出请使用show full processlist;
参数详解:
- ID
连接线程ID通过线程可以追查到更加详细信息
select thread_id, processlist_id, processlist_state, processlist_info from performance_schema.threads where processlist_id=1; select THREAD_ID, EVENT_NAME, SQL_TEXT from performance_schema.events_statements_history where thread_id=2;
可以手工kill:kill 2;
- User
发出声明的MySQL用户,如果是system user,它是指由服务器产生的非客户线程,以在内部处理任务。这可能是复制从站或延迟行处理程序使用的I / O或SQL线程。unauthenticated user指的是已经与客户端连接关联但是还没有完成客户机用户的认证的线程。event_scheduler指的是监视预定事件的线程。如果是system user那么在Host列中不会指定主机 。
- Host
发出该语句的客户端的主机名(system user没有主机除外),以便更容易地确定哪个客户端正在做什么,显示方式:host_name:client_port。 - Db
当前执行语句对应的默认数据库,如果选择了;否则为NULL - Command
Binlog Dump:这是主服务器上的线程,用于将二进制日志内容发送到从服务器。
Table Dump:线程将表内容发送到从服务器。
Change user:线程正在执行改变用户操作。
Close stmt:线程正在关闭准备好的语句。
Connect:复制中,从服务器连接到其主服务器。
Connect Out:复制中,从服务器正在连接到其主服务器。
Create DB:线程正在执行create-database操作。
Daemon:此线程在服务器内部,而不是服务客户端连接的线程。
显示这个线程此刻正在执行的命令,一般对应DDL或DML语句。
Debug:线程正在生成调试信息。
Delayed insert:线程是一个延迟插入处理程序。
Drop DB:线程正在执行drop-database操作。
Execute:线程正在执行一个准备好的语句(prepare statement类型就是预编译的语句,JDBC支持次类型执行SQL)。
Fetch:线程正在执行一个准备语句的结果。
Field List:线程正在检索表列的信息。
Init DB:线程正在选择默认数据库。
Kill:线程正在杀死另一个线程。
Long Data:该线程在执行一个准备语句的结果中检索长数据。
Pingÿ