my.cnf与my.ini的区别?

my.cnf 是windows环境下的配置文件,my.ini是linux下的配置文件

没有此文件,Mysql能正常跑么?

可以,配置文件只是相当于启动时的参数,没有参数时,以默认参数进行。

没有此文件怎么办?

自己构建一个,根据环境,进行命名。

步骤:

查看慢日志是否开启

show variables like 'slow_query%';

开启慢日志

set global slow_query_log='ON';

查看当前有多少条慢日志

show global status like '%slow_queries%';

查看慢日志被记录时间

// 查看当前会话的,如果修改成功,也不会看到改变,(等个几秒,重开一个窗口,才能看见)
show variables like 'long_query_time'; 
// 查看全局会话慢日志时间,修改前后,一致。
show global variables like 'long_query_time';

修改慢日志时间

set global long_query_time=5;

慢日志有2种存储形式 一个默认的是File,一个是Table

查看慢日志的类型

show variables like '%log_output%';

设置慢日志的类型

设置为:FILE
set global log_output = 'File'

设置为:TABLE
set global log_output = 'TABLE'

未使用索引的SQL,也被慢日志记录

查看是否开启
show variables like 'log-queries-not-using-indexes';

设置开启
set global log_queries_not_using_indexes=1;

上面的所有设置,重启后,就会失效,如果想永久生效,得去my.conf中进行修改。

例如:

在my.ini内修改或添加

global slow_query_log = 1

slow_query_log_file = C:\phpStudy\PHPTutorial\MySQL\data\DESKTOP-AFSBV9C-slow.log