MySQL 安装、导入测试数据及开启慢查询日志

今日箴言

逃避的事情都会回来找你 。

1. MySQL 安装

1.1MySQL 8.0.18安装

本次安装的是MySQL 8.0.18版本。

下载地址:https://downloads.mysql.com/archives/installer/

MySQL 安装、导入测试数据及开启慢查询日志

一路下一步下一步就可完成安装.<赞 Winddows Installer, 很方便安装>

1.2 配置全局路径

MySQL 安装、导入测试数据及开启慢查询日志

将MySQL bin目录配置到环境变量Path中。

MySQL 安装、导入测试数据及开启慢查询日志

1.3 测试全局配置是否正常

测试MySQL bin目录配置到全局中是否生效。

win+R 打开运行-->输入cmd。进入dos窗。

MySQL 安装、导入测试数据及开启慢查询日志

可以查看到在任意目录下可以正常登录。

2. MySQL 导入测试数据

2.1 导入test_db.sql

Github 测试数据地址:https://github.com/datacharmer/test_db

MySQL 安装、导入测试数据及开启慢查询日志

下载github上的内容到本地, 将employee.sql导入到MySQL。

mysql -uroot -p123456 < employees.sql

MySQL 安装、导入测试数据及开启慢查询日志

验证导入数据是否正常

mysql -uroot -p123456 -t < test_employees_md5.sql	

MySQL 安装、导入测试数据及开启慢查询日志

3. 慢查询日志

  • 慢查询日志是MySQL内置的一项功能,可以记录执行超过指定时间的SQL语句。

    发现慢SQL的工具

    Skywalking、VisualVM 、JavaMeloddy

    3.1相关参数与默认值

    参数 作用 默认值
    log_output 日志输出到哪儿,默认File,表示文件;设置成TABLE,则将日志记录到mysql.slow_log中。也可以设置多种格式,比如FILE、TABLE. FILE
    long_query_time 执行时间超过这么久才记录到慢日志,单位秒,可使用小数表示小于秒的时间 10
    log_queries_not_using_indexs 是否要将未使用索引的SQL记录到慢查询日志中,此配置会无视long_query_time的配置。生产环境建议关闭;开发环境建议开启 OFF
    log_throttle_queries_not_using_indexs 和log_queries_not_using_indexs配合使用,如果log_queries_not_using_indexs打开,则该参数将限制每分钟写入的、未使用索引的SQL数量 0
    min_examined_row_limit 扫描行数至少达到这么多才记录到慢查询日志 0
    log_slow_admin_statements 是否要记录管理语句,默认关闭。管理语句包括Alter Table,Analyze table,check table,create index,drop index,optimize table and repair table OFF
    slow_query_log_file 指定慢查询日志文件路径 /var路径
    log_slow_slave_statements 该参数在从库上设置,决定是否记录在复制过程中超过long_query_time的SQL。如果binlog格式是row,则该参数无效 OFF
    log_slow_extra 当log_output=FILE时,是否要记录额外信息(MySQL 8.0.14开始提供),对log_output=TABLE的结果无影响 OFF

    3.2 使用方式

    • 方式一,修改配置文件my.cnf

    在[mysqlId]段落中加入下面的参数即可

    [mysqld]
    # ...
    log_output=`FILE、TABLE`;
    slow_query_log=ON
    long_query_time=0.001
    

    然后重启MySQL,例如:

    service mysqld restart	
    
    • 方式二,通过全局变量查看

    这种方式无需重启即可生效,但一旦重启,配置又会丢失

    例如:

    set global log_output = ‘FILE,TABLE‘;
    set global slow_query_log = ‘ON‘;
    set global long_query_time = 0.001;
    

    这样设置之后,就会将慢查询日志同时记录到文件以及myusql.slow_log表中

    4. 分析慢查询日志

    分析慢查询日志表

    当log_output=table时,可直接使用如下语句分析:

    select * from `mysql.slow_log`
    

MySQL 安装、导入测试数据及开启慢查询日志

上一篇:Redis数据库(九)——Redis持久化AOF


下一篇:四、mongodb集群搭建