我已经设置了一个日志文件来获取MySQL慢查询.
但我无法解析文件.Linux使这项任务看起来非常简单.在教程中,它似乎很简单:
$ mysqldumpslow -s c -t 10
Run Code Online (Sandbox Code Playgroud)
但是在Windows中,我不确定如何运行Perl,它位于:G:\ xampp\perl\bin,其中包含Perl脚本mysqldumpslow.pl,位于:G:\ xampp\mysql\scripts
我试图进入:
G:\ xampp\mysql\scripts\perl mysqldumpslow -sc -t 10
命令提示符返回"perl is not recognized"之类的内容.
呃,你使用的是错误的路径.
如果perl.exe位于G:\ xampp\perl\bin和G:\ xampp\mysql\scripts中的mysql脚本,则需要:
> G:\xampp\perl\bin\perl G:\xampp\mysql\scripts\mysqldumpslow.pl -s c -t 10.
Run Code Online (Sandbox Code Playgroud)
当然,这是一种非常迂回的做事方式,所以相反,将perl添加到PATH,并cd
进入正确的目录,然后运行它:
> set PATH=G:\xampp\perl\bin\;%PATH% // Note: This can be added in the
// System Control Panel.
> cd /d G:\xampp\mysql\scripts
> perl mysqldumpslow.pl -s c -t 10
Run Code Online (Sandbox Code Playgroud)
或者甚至更好,将perl添加到您已知的文件类型中.
pl
扩展字段.单击确定.对于Action类型open
,对于'用于执行操作的应用程序'类型:
G:\xampp\perl\bin\perl.exe -w "%1" %*
单击确定.
现在您可以将脚本运行为:
> mysqldumpslow.pl -s c -t 10
Run Code Online (Sandbox Code Playgroud)
就像在Linux中一样.
快速说明:将.pl文件添加为已知文件类型大致相当于Unix人员添加
#!/usr/bin/perl -w
Run Code Online (Sandbox Code Playgroud)
到每个perl脚本的开头.在Windows中,您只需添加一次.
第二个注意事项:-w
在perl解释器中打开警告.-w
如果您愿意,可以省略.