MySQL 操作

慢查询排查

找到查询慢的sql

select * from `information_schema`.processlist where db = 'db_name' and host like '%client_ip%'

字符串截取

select name, substr(a.name, a.pst1 + 1, a.pst2 - a.pst1 -1) v from 
(
    select name, locate('_',name) pst1,  locate('.',name) pst2 from test 
) a

name               |v     |
-------------------+------+
20221122_201000.txt|201000|

 MySQL排序

SELECT id, name, status
FROM your_table
ORDER BY 
    CASE 
        WHEN id LIKE 'bgM%' AND status = '在线' THEN 1 -- 如果id以bgM开头且status是在线的,排到前面
        WHEN status = '在线' THEN 2 -- 如果status是在线的,排到稍后位置
        ELSE 3 -- 离线的排到最后
    END;

 MySQL查看binlog文件

把mysql binlog日志,转换为文本文件
mysqlbinlog -v binlog.000001 > output.txt
mysqlbinlog --help 查看更多帮助

 

posted @ 2022-06-15 23:29  szcj~  阅读(14)  评论(0)    收藏  举报