同时运行“显示进程列表”

我有两个脚本放在每分钟运行一个cron。 这两个脚本连接到相同的数据库并运行一个show full processlist 。 如果两个show full processlist命令同时运行,可以吗?

PS: – 其中一个脚本将在一周左右被删除,所以这个设置最多只有一个星期。

是的,这是可以的。 即使不是这样,MySQL的工作就是解决这个问题,例如延迟第二个,直到第一个完成。

SHOW PROCESSLIST;什么不一样SHOW PROCESSLIST;SHOW FULL PROCESSLIST;

  • SHOW PROCESSLIST; 显示INFO列的前100个字符
  • SHOW FULL PROCESSLIST; 显示整个INFO列

INFORMATION_SCHEMA.PROCESSLIST的angular度来看:

  • SHOW PROCESSLIST; 有效地运行SELECT ID,USER,HOST,DB,COMMAND,TIME,STATE,LEFT(INFO,100) INFO FROM information_schema.processlist;
  • SHOW FULL PROCESSLIST; 有效地运行SELECT * FROM information_schema.processlist;

只有一种情况,我可以想到你不想运行 SHOW FULL PROCESSLIST;

当你将一个mysqldump加载到一个MySQL实例中时,运行SHOW PROCESSLIST; 跟踪表格的加载进度。 我们知道mysqldumps已经扩展了INSERT。 这个INSERT可以有数百甚至上千行。 如果你运行SHOW FULL PROCESSLIST; ,可以将这些数百甚至数千行的文本表示forms泄漏到控制台或日志中。 这可以快速生成巨大的SQL查询日志,数据可见为纯文本。

所以,要小心不要运行多个SHOW FULL PROCESSLIST; 在一个mysqldump的加载过程中的命令。

如果您已经对stream程列表进行了一些监控,您也可以

  • 运行SHOW PROCESSLIST;
  • 运行SELECT ID,USER,HOST,DB,COMMAND,TIME,STATE,LEFT(INFO,300) INFO FROM information_schema.processlist; (将LEFT(INFO,xxx)设置为任何可控的长度)