我把两个脚本放入了 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) 设置为可管理的长度)