张治峰的博客

mysql常用命令及配置

2021-09-18

关闭查询缓存

set global query_cache_size=0;
set global query_cache_type=0;

开启trace

开启trace工具会影响mysql性能,所以只能临时分析sql使用,用 完之后立即关闭

set session optimizer_trace=”enabled=on”,end_markers_in_json=on;

使用

select * from ${table};
SELECT * FROM information_schema.OPTIMIZER_TRACE;

EXPLAIN 工具

EXPLAIN SELECT * FROM ${table}

开启慢查询

全局变量设置

这种方式在mysql重启后会失效

  • 查看慢查询参数

    show variables like ‘slow_query%’;

  • 查看慢查询判定时间

    show variables like ‘long_query_time’;

  • 开启/关闭慢查询

    set global slow_query_log=’ON’;
    set global slow_query_log=’OFF’;

  • 设置慢查询判定时间(超过 1s 就为慢查询 默认 10s)

    set global long_query_time=1;

  • 设置慢查询日志存放的位置

    set global slow_query_log_file=’/usr/local/mysql/data/slow_query.log’;

如果不生效 重新打开会话即可

配置文件设置

  1. 修改配置文件my.cnf,在[mysqld]下的下方加入**
    [mysqld]
    slow_query_log = ON
    slow_query_log_file = /usr/local/mysql/data/slow_query.log
    long_query_time = 1
  2. 重启mysql

事务隔离级别

传送门: MySQL 事务隔离级别


#查看当前数据库的事务隔离级别:
show variables like 'tx_isolation';

#设置事务隔离级别
set tx_isolation='REPEATABLE-READ';

表锁

# 手动加锁语句
lock table 表名称 read(write),表名称2 read(write);
# 查看表上加过的锁
show open tables;
# 删除表锁
unlock tables;

间隙锁

# 查看 innodb_locks_unsafe_for_binlog 是否禁用
show variables like 'innodb_locks_unsafe_for_binlog';

innodb_locks_unsafe_for_binlog:默认值为OFF,即启用间隙锁。因为此参数是只读模式,如果想要禁用间隙锁,需要修改 my.cnf(windows是my.ini) 重新启动才行。

# 在 my.cnf 里面的[mysqld]添加
[mysqld]
innodb_locks_unsafe_for_binlog = 1
Tags: mysql
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章