数据库配置操作集锦

隔离级别

  • 查看当前事务隔离级别

    select @@tx_isolation;
    
  • 设置隔离级别

    set transaction isolation level +隔离级别
    //设置read uncommitted级别:
    set session transaction isolation level read uncommitted;
    //设置read committed级别:
    set session transaction isolation level read committed;
    //设置repeatable read级别:
    set session transaction isolation level repeatable read;
    //设置serializable级别:
    set session transaction isolation level serializable;
    

慢日志

  • 查看慢日志

    show variables like '%qurey%'
    long_query_time:查询超时时间(超过这个时间就是慢查询,可以自己设置) 默认是 10毫秒
    slow_query_log:慢日志功能开关
    slow_query_log_file:慢日志存放文件,自己设置(支持.log文件)
    

    在这里插入图片描述

  • 开启慢日志

    set global slow_qurey_log = "ON";
    
  • 慢日志输出查看

    show variables like '%log_output%';
    

    og_output 参数是指定日志的存储方式。log_output='FILE'表示将日志存入文件,默认值是’FILE’。log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。MySQL数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output='FILE,TABLE'。日志记录到系统的专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查询日志,又需要能够获得更高的系统性能,那么建议优先记录到文件

  • 查看表里慢日志

    select * from mysql.slow_log;
    
  • 日志分析工具 mysqldumpslow

    #得到返回记录集最多的10个SQL。
    
    mysqldumpslow -s r -t 10 /database/mysql/mysql06_slow.log
    
    #得到访问次数最多的10个SQL
    
    mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log
    
    #得到按照时间排序的前10条里面含有左连接的查询语句。
    
    mysqldumpslow -s t -t 10 -g “left join/database/mysql/mysql06_slow.log
    
    #另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现刷屏的情况。
    
    mysqldumpslow -s r -t 20 /mysqldata/mysql/mysql06-slow.log | more
    

BinLog日志的三种模式

  • Statement level优点:

    1、解决了row level的缺点,不需要记录每一行的变化。
    2、日志量少,节约IO,从库应用日志块。

  • Statement level缺点

    一些新功能同步可能会有障碍,比如函数、触发器等。

  • row level的优点:

    1、记录详细
    2、解决statement level模式无法解决的复制问题。(某些特定情况下的存储过程,或fuction,以及trigger的调用或处罚无法被正确复制的问题。)

  • row level的缺点

    日志量大,因为是按行来拆分。

  • mixed level:

    实际上就是前两种模式的结合,在mixed模式下,mysql会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也是在statement和row之间选择一种

  • 查看当前binlog日志模式 默认-Row

    show variables like '%binlog_format%';  
    
  • 设置binlog的模式

    set global binlog_format='MIXED';
    
  • 读取binlog日志

    mysqlbinlog --base64-output=decode-rows -v mysql-bin.000011
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值