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

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

我把两个脚本放入了 cron 中,每分钟运行一次。这两个脚本都连接到同一个数据库并运行。如果两个命令同时运行,show full processlist可以吗?show full processlist

PS:- 其中一个脚本将在一周左右的时间内被删除,因此此设置最多只能持续一周。

答案1

是的,没问题。即使不行,MySQL 也应该处理这个问题,例如,延迟第二个任务直到第一个任务完成。

答案2

SHOW PROCESSLIST;和有什么区别SHOW FULL PROCESSLIST;

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

来自信息架构.进程列表观点看法:

  • 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;来跟踪表的加载进度。我们知道 mysqldump 具有扩展的 INSERT。单个 INSERT 可以有数百甚至数千行。如果您运行SHOW FULL PROCESSLIST;,您可以将这些数百甚至数千行的文本表示溢出到控制台或日志中。这可以快速生成大量 SQL 查询日志,其中的数据以纯文本形式可见。

SHOW FULL PROCESSLIST;因此,在加载 mysqldump 期间要非常小心不要运行多个命令。

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

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

相关内容