mysql的my.ini常用配置

一.启用sql日志

查看是否开启sql日志

SHOW VARIABLES LIKE “general_log%”; — 查询是否启用日志  NO是开启的状态,OFF是关闭的状态

SET GLOBAL general_log = ON ; — 设置启用

SET GLOBAL sql_log_off = OFF ;  — 设置关闭

SET GLOBAL general_log_file = /var/lib/mysql/mysql.log ;  — 指定日志文件

 方式一

以上设置重启mysql后失效

SET GLOBAL general_log = ON ;  — 设置启用

SET GLOBAL sql_log_off = OFF ;  — 设置关闭

SET GLOBAL general_log_file = /var/lib/mysql/mysql.log ;  — 指定日志文件

# /etc/my.cnf须在[mysqld] 里

# 查询日志,开启对所有执行语句进行记录

general_log=on

# 查询日志,存放位置

general_log_file=D:mysql-5.7.33-winx64logquery.log

# 查询日志,文件中的时间显示已系统时间为准

log_timestamps = SYSTEM

Copy

方式二

# /etc/my.cnf须在[mysqld] 里

# 查询日志,开启对所有执行语句进行记录

general_log=on

# 查询日志,存放位置

general_log_file=D:mysql-5.7.33-winx64logquery.log

# 查询日志,文件中的时间显示已系统时间为准

log_timestamps = SYSTEM

— 查询是否开启慢日志 OFF为关闭状态,NO为开启状态

show variables like slow_query% ;

— 查看慢sql设置时间

show variables like %long_query_time% ;

Copy

二.慢日志

0.查看慢日志是否开启

— 查询是否开启慢日志  OFF为关闭状态,NO为开启状态

show variables like slow_query% ;

— 查看慢sql设置时间

show variables like %long_query_time% ;

SQL

Copy

1.开启慢日志

方式一

— 查询是否开启慢日志  OFF为关闭状态,NO为开启状态

show variables like slow_query% ;

— 通过以下命令开启慢日志:

— 开启慢日志

set global slow_query_log= ON ;

— 设置慢日志存放的位置

set global slow_query_log_file= D:mysql-5.7.33-winx64dataLAPTOP-JD2V280H-slow.log ;

— 会记录没有使用索引的查询sql,但前提是必须开启 slow_query_log= ON

set global log-queries-not-using-indexes = ON ;

— 设置日志超过10秒就记录慢日志

set global long_query_time=10;

SQL

Copy

方式二

# /etc/my.cnf须在[mysqld] 里

[mysqld]

slow_query_log = ON

slow_query_log_file = /home/local/mysql/data/slow.log

log-queries-not-using-indexes = on

long_query_time = 10

Shell

Copy

2.慢SQL参数

Time                Id Command    Argument

# Time: 2022-03-21T09:13:39.037729Z

# User@Host: skip-grants user[root] @ localhost [::1]  Id:  520

# Query_time: 13.975245  Lock_time: 0.000091 Rows_sent: 766373  Rows_examined: 766373

use homepensioncloud;

SET timestamp=1647854019;

SELECT * from sys_user;

SQL

Copy

time: 记录日志的时间

User@Host: 执行的用户及主机

Query_time: 执行的时间

Lock_time: 锁表时间

Rows_sent: 发送给请求放的记录数,结果数量

Rows_examined: 语句扫描的记录条数

SET timestamp: 语句执行的时间点

select……: 执行的具体的SQL语句

TeX

Copy

三.扩展

1.关闭表名大小写敏感

— 查看是否开启表明大小写敏感

show global variables like %lower_case% ;

SQL

Copy

设置

# /etc/my.cnf须在[mysqld]节点下,加入一行: (1是先把表名转换为小写,在执行)

lower_case_table_names=1

SQL

Copy

2.设置mysql客户端默认字符集

# /etc/my.cnf 在[mysql] 节点 设置mysql客户端默认字符集

[mysql]

default-character-set=utf8

SQL

Copy

3.MySQL其他设置

# /etc/my.cnf须在[mysqld]节点下

[mysqld]

#跳过密码认证

skip-grant-tables

#设置3306端口

port = 3306

server-id = 33123

# 设置mysql的安装目录

basedir=D:mysql-5.7.33-winx64

# 设置mysql数据库的数据的存放目录

datadir=D:mysql-5.7.33-winx64data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 必须加到[mysqld]下面 select @@GLOBAL.sql_mode;  — only_full_group_by 

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

SQL

Copy

四.我的my.ini配置

[mysqld]

#跳过密码认证

skip-grant-tables

#设置3306端口

port = 3306

server-id = 33123

# 设置mysql的安装目录

basedir=D:mysql-5.7.33-winx64

# 设置mysql数据库的数据的存放目录

datadir=D:mysql-5.7.33-winx64data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 必须加到[mysqld]下面 select @@GLOBAL.sql_mode;  — only_full_group_by 

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

## 开启慢sql

# 开启慢sql

slow_query_log=ON

# 慢sql存的文职

slow_query_log_file=D:mysql-5.7.33-winx64loglogslow.log

# 会记录没有使用索引的查询sql,但前提是必须开启 slow_query_log= ON

log-queries-not-using-indexes =on

# 超过10秒则属于慢SQL,慢查询时间,这里为10秒,超过10秒会被记录

long_query_time=10

## 启用sql日志

# 查询日志,开启对所有执行语句进行记录

general_log=on

# 查询日志,存放位置

general_log_file=D:mysql-5.7.33-winx64logquery.log

# 查询日志,文件中的时间显示已系统时间为准

log_timestamps = SYSTEM

# mysql表名大小写敏感 1是先把表名装维小写,在执行

lower_case_table_names=1

# 设置时区为东八区  show variables like %time_zone% ;

default-time-zone = +8:00

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
OneSevnnoodle的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容