• SQL慢查询安装过程


    SQL慢查询

    基本操作

    打开防火墙

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload
    

    安装MySQL

    ## 删除已安装mysql
    rpm -qa | grep mysql
    yum list installed | grep mysql
    ## 下载源
    wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
    ## 安装rpm
    rpm -ivh mysql57-community-release-el7-8.noarch.rpm
    ## 安装MySQL
    yum install mysql-server
    ## 启动服务
    systemctl start mysql
    ## 开机自启动
    systemctl enable mysql
    ## 查看mysql 密码
    grep "password" /var/log/mysqld.log
    ## 进入mysql
    mysql -u root -p
    ## 下面是在本地时,为登录方便而简化,线上需高安全
    set global validate_password_policy=0;
    set global validate_password_length=1;
    SHOW VARIABLES LIKE 'validate_password%';
    flush privileges;
    ## 更改当前密码
    SET PASSWORD = PASSWORD('root');
    ## 设置用户 root 可以在任意 IP 下被访问:
    grant all privileges on *.* to root@"%" identified by "root";
    flush privileges;
    
    mysql配置
    vim /etc/my.cnf
    ## 在 [mysqld] 前添加如下代码
    [client]
    default-character-set=utf8
    
    忘记密码时
    service mysqld stop
    mysqld_safe --user=root --skip-grant-tables --skip-networking &
    mysql -u root
    
    一些文件的存放目录
    ## 配置文件
    vim /etc/my.cnf
    ## 存放数据库文件的目录
    cd /var/lib/mysql
    ## 日志记录文件
    vim /var/log/ mysqld.log
    ## socket文件
    /var/run/mysqld/mysqld.pid
    

    慢查询配置

    mysql> show variables like 'slow_query_log';
    +----------------+-------+
    | Variable_name  | Value |
    +----------------+-------+
    | slow_query_log | OFF    |
    +----------------+-------+
    1 row in set (0.05 sec)
    ## my.cnf里面添加
    # 添加慢查询日志
    log_output=file
    slow_query_log=on
    slow_query_log_file = /tmp/mysql-slow.log
    log_queries_not_using_indexes=on
    long_query_time = 1
    
    mysql> show variables like 'slow_query_log';
    +----------------+-------+
    | Variable_name  | Value |
    +----------------+-------+
    | slow_query_log | ON    |
    +----------------+-------+
    1 row in set (0.05 sec)
    
    mysql> show variables like '%quer%';
    +----------------------------------------+---------------------+
    | Variable_name                          | Value               |
    +----------------------------------------+---------------------+
    | binlog_rows_query_log_events           | OFF                 |
    | ft_query_expansion_limit               | 20                  |
    | have_query_cache                       | YES                 |
    | log_queries_not_using_indexes          | ON                  |
    | log_throttle_queries_not_using_indexes | 0                   |
    | long_query_time                        | 1.000000            |
    | query_alloc_block_size                 | 8192                |
    | query_cache_limit                      | 1048576             |
    | query_cache_min_res_unit               | 4096                |
    | query_cache_size                       | 1048576             |
    | query_cache_type                       | OFF                 |
    | query_cache_wlock_invalidate           | OFF                 |
    | query_prealloc_size                    | 8192                |
    | slow_query_log                         | ON                  |
    | slow_query_log_file                    | /tmp/mysql-slow.log |
    +----------------------------------------+---------------------+
    15 rows in set (0.06 sec)
    
    ## 进入linux慢日志
     service mysqld reload
     cat /tmp/mysql-slow.log 
     ## 实时查看日志
      tail -f /tmp/mysql-slow.log
    

    安装percona-toolkit

    ## 安装依赖
    rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
    ## 下载 rpm
    yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
    ## 查看
    yum list | grep percona-toolkit
    ## yum install
    yum install percona-toolkit
    ## 查看是否安装成功
    pt-query-digest --help
    pt-table-checksum --help
    
    

    作业要求

    ##先在MySQL 执行
    select sleep(20);
    ## 没有文件夹就创 mkdir /developer
    pt-query-digest --report  /tmp/mysql-slow.log >  /developer/20684_slow_report.log
    ## 下载文件到本机
    ### cd到log所在文件夹 python 开启简易服务器
    python -m SimpleHTTPServer 8080
    ### 开启防火墙
    firewall-cmd --zone=public --add-port=8080/tcp --permanent
    firewall-cmd --reload
    ## 浏览器访问主机地址下载
    

    其它

    作业要求

    1. 自行创建虚拟机,红帽 or centos操作, 如果有买云服务,也可以安装在云上;
    2. 安装Mysql数据库;
    3. 安装 Percona Toolkit 工具包;
    4. 开启mysql慢日志;
    5. 执行语句:select sleep(20);
    6. pt-query-digest 分析慢日志,生成文件名:工号_slow_report.log
  • 相关阅读:
    【女农场主手记】漂亮地晕和扯淡地安全
    2008最新个人所得税计算公式
    oracle 字符集乱码解决 详细解释了oracle字符集的问题
    单反相机的传奇—佳能单反50年辉煌之路(连载三)
    单反相机的传奇—佳能单反50年辉煌之路(连载七)
    2009年5月重上涠洲岛,大吃海鲜
    单反相机的传奇—佳能单反50年辉煌之路(连载六)
    单反相机的传奇—佳能单反50年辉煌之路(连载八)
    单反相机的传奇—佳能单反50年辉煌之路(连载二)
    单反相机的传奇—佳能单反50年辉煌之路(连载十)
  • 原文地址:https://www.cnblogs.com/renqiqiang/p/9390052.html
Copyright © 2020-2023  润新知