建议 将 相关 该表使用的,一律 关闭,如 运行web程序(正在查询、删除该表数据),备份终止,正在 运行 删除该表 的窗口等,然后再进行解锁
有两种方式:
一个是配置文件 一个是命令
如果是配置文件方式 就在 mysql 配置文件 my.cnf 中增加:log-slow-queries=/opt/data/slowquery.log
(这句是指定日志文件存放位置 如果不写 系统会给一个缺省的位置)long_query_time=2 (记录超过的时间 默认为 10s)
如果是命令行方式 就在 mysql 命令行下面 输入如下命令:set global slow_query_log=onset global long_query_time=1# 设置记录查询超过多长时间的 sql
set global slow_query_log_file=‘/opt/data/slow_query.log’# 指定日志文件存放位置 如果不写 系统会给一个缺省的位置
这种方式不用重启 mysql 服务
开启了慢查询日志之后 就可以通过以下语句分析:
• mysqldumpslow -s t -t 20 -g 'select' /opt/data/slowquery.log
这句就可以找到执行时间最长的前 20 条查询语句
• mysqldumpslow -s t -t 10 -g 'left join'/opt/data/slowquery_2016050921.log
这句就可以找到执行时间最长的前 10 条含有左连接的查询语句
找到之后 使用如下语句进行进一步分析:
mysql>explain select * from students where id in (2,3)
explain 后面跟上刚刚查出来的执行时间长的语句就可以了
ctrl+alt+del 调出 任务管理器,选择进程,找到Mysql的相关进程,点击结束进程。楼下说那么简洁,楼主懂么? taskkill有可能杀不掉 后面要加参数 楼主又知道吗,
Taskkill -pid
也可以用
ntsd -pid
当然 pid 要知道才行,
在cmd 里面输入 tasklist 查看所有进程。
在cmd里面 *** 作简直是装逼,那是以前的dos *** 作方式,现在图形界面的话对于普通用户直接调出任务管理器 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)