mysqltuner工具使用,本工具建议定期运行,发现目前MYSQL数据库存在的问题及修改相关的参数

工具的下载及部署

解决环境依赖,因为工具是perl脚本开发的,需要perl脚本环境

# yun install -y perl*

下载脚本

在http://mysqltuner.com/下载major-MySQLTuner-perl-1.6.0-142-g42593c6.zip



将下载的mysqltuner.pl文件上传到需要测试的mysql服务器中

# chmod +x mysqltuner.pl

执行脚本

# ./mysqltuner.pl

根据提示输入管理员账号密码,得出建议:





报错



# ./mysqltuner.pl 

 >>  MySQLTuner 1.6.9 - Major Hayden <major@mhtx.net>

 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/

 >>  Run with '--help' for additional options and output filtering

which: no mysqladmin in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

[!!] Couldn't find mysqladmin in your $PATH. Is MySQL installed?



添加环境变量

# vi /etc/profile.d/mysql.sh

加入

export PATH=/opt/lampp/bin:$PATH





>>  MySQLTuner 1.6.9 - Major Hayden <major@mhtx.net>

 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/

 >>  Run with '--help' for additional options and output filtering

Please enter your MySQL administrative login: root200

Please enter your MySQL administrative password: 

[--] Skipped version check for MySQLTuner script

[!!] Your MySQL version 5.0.67 is EOL software!  Upgrade soon!

[OK] Operating on 64-bit architecture





-------- Storage Engine Statistics -------------------------------------------

[--] Status: +Archive -BDB +Federated +InnoDB -ISAM -NDBCluster 

[--] Data in MyISAM tables: 8G (Tables: 448)

[--] Data in InnoDB tables: 320K (Tables: 2)

[--] Data in MEMORY tables: 1M (Tables: 4)

[!!] Total fragmented tables: 42





-------- Security Recommendations  -------------------------------------------

[OK] There are no anonymous accounts for any database users

[!!] failed to execute: SELECT CONCAT(user, '@', host) FROM mysql.user WHERE (password = '' OR password IS NULL) AND plugin NOT IN ('unix_socket', 'win_socket')

[!!] FAIL Execute SQL / return code: 256

[OK] All database users have passwords assigned

[!!] User 'em@%' hasn't specific host restriction.

[!!] User 'huhonggen@%' hasn't specific host restriction.

[!!] User 'rone@%' hasn't specific host restriction.

[!!] There is no basic password file list!





-------- CVE Security Recommendations  ---------------------------------------

[--] Skipped due to --cvefile option undefined





-------- Performance Metrics -------------------------------------------------

[--] Up for: 13h 30m 47s (81M q [1K qps], 39K conn, TX: 1G, RX: 1G)

[--] Reads / Writes: 95% / 5%

[--] Binary logging is disabled

[--] Total buffers: 4.3G global + 48.3M per thread (1500 max threads)

[!!] Maximum reached memory usage: 31.4G (100.18% of installed RAM)

[!!] Maximum possible memory usage: 75.1G (239.73% of installed RAM)

[OK] Slow queries: 0% (144/81M)

[OK] Highest usage of available connections: 38% (574/1500)

[!!] Aborted connections: 6.73%  (2688/39922)

[OK] Query cache efficiency: 63.4% (49M cached / 78M selects)

[!!] Query cache prunes per day: 149286

[OK] Sorts requiring temporary tables: 0% (97 temp sorts / 862K sorts)

[OK] Temporary tables created on disk: 13% (46K on disk / 347K total)

[OK] Thread cache hit rate: 98% (643 created / 39K connections)

[OK] Table cache hit rate: 99% (1K open / 1K opened)

[OK] Open file limit used: 13% (1K/7K)

[OK] Table locks acquired immediately: 98% (35M immediate / 36M locks)





-------- ThreadPool Metrics --------------------------------------------------

[--] ThreadPool stat is disabled.





-------- Performance schema --------------------------------------------------

[--] Performance schema is disabled.





-------- MyISAM Metrics ------------------------------------------------------

[!!] Key buffer used: 40.7% (1B used / 4B cache)

[OK] Key buffer size / total MyISAM indexes: 4.0G/3.9G

[OK] Read Key buffer hit rate: 100.0% (1B cached / 373K reads)

[!!] Write Key buffer hit rate: 83.9% (2M cached / 344K writes)





-------- AriaDB Metrics ------------------------------------------------------

[--] AriaDB is disabled.





-------- InnoDB Metrics ------------------------------------------------------

[--] InnoDB is enabled.

[OK] InnoDB buffer pool / data size: 128.0M/320.0K

[!!] InnoDB Used buffer: 0.78% (64 used/ 8192 total)

[OK] InnoDB Read buffer efficiency: 93.93% (201 hits/ 214 total)

[!!] InnoDB Write Log efficiency: 0% (-1 hits/ 0 total)

[OK] InnoDB log waits: 0.00% (0 waits / 1 writes)





-------- TokuDB Metrics ------------------------------------------------------

[--] TokuDB is disabled.





-------- Galera Metrics ------------------------------------------------------

[--] Galera is disabled.





-------- Replication Metrics -------------------------------------------------

[--] No replication slave(s) for this server.

[--] This is a standalone server..

针对给出的意见进行修改

-------- Recommendations -----------------------------------------------------

General recommendations:

    Run OPTIMIZE TABLE to defragment tables for better performance

    Restrict Host for user@% to user@SpecificDNSorIp

    MySQL started within last 24 hours - recommendations may be inaccurate

    Reduce your overall MySQL memory footprint for system stability

    Enable the slow query log to troubleshoot bad queries

    Reduce or eliminate unclosed connections and network issues

    Increasing the query_cache size over 128M may reduce performance

    Upgrade to MySQL 5.5+ to use asynchrone write

Variables to adjust:

  *** MySQL's maximum memory usage is dangerously high ***

  *** Add RAM before increasing MySQL buffer variables ***

query_cache_size (> 128M) [see warning above]

注意:

浏览输出的结果,特别是末尾的 Recommendations ,里面一般会提到您需要在 my.cnf 修改的内容。修改 my.cnf 后记得重启 MySQL 。重启后再运行 MySQLTuner 检查。另外需要注意的是 MySQL 需要启动 24 小时候再运行 MySQLTuner ,不然有些内容会不准。

利用mysqltuner工具对mysql数据库进行优化的更多相关文章

  1. MYSQL启用日志,查看日志,利用mysqlbinlog工具恢复MySQL数据库【转载】

    转自 MYSQL启用日志,查看日志,利用mysqlbinlog工具恢复MySQL数据库 - _安静 - 博客园http://www.cnblogs.com/xionghui/archive/2012/ ...

  2. MySQL数据库性能优化与监控实战(阶段四)

    MySQL数据库性能优化与监控实战(阶段四) 作者 刘畅 时间 2020-10-20 目录 1 sys数据库 1 2 系统变量 1 3 性能优化 1 3.1 硬件层 1 3.2 系统层 1 3.3 软 ...

  3. mysql数据库性能优化(包括SQL,表结构,索引,缓存)

    优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...

  4. MySQL数据库性能优化:表、索引、SQL等

    一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...

  5. MYSQL数据库的优化

    我们究竟应该如何对MySQL数据库进行优化?下面我就从MySQL对硬件的选择.MySQL的安装.my.cnf的优化.MySQL如何进行架构设计及数据切分等方面来说明这个问题. 服务器物理硬件的优化 在 ...

  6. [转]MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    本文转自:http://liangweilinux.blog.51cto.com/8340258/1728131 年,嘿,废话不多说,下面开启MySQL优化之旅! 我们究竟应该如何对MySQL数据库进 ...

  7. MySQL 数据库性能优化之索引优化

    接着上一篇 MySQL 数据库性能优化之表结构,这是 MySQL数据库性能优化专题 系列的第三篇文章:MySQL 数据库性能优化之索引优化 大家都知道索引对于数据访问的性能有非常关键的作用,都知道索引 ...

  8. MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

    原文地址:http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师年一线实战经验,我当然不能和我的老师平起平坐,得到老师三分之一的 ...

  9. Mysql数据库性能优化(一)

    参考 http://www.jb51.net/article/82254.htm 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要 ...

随机推荐

  1. Luogu 1312 【NOIP2011】玛雅游戏 (搜索)

    Luogu 1312 [NOIP2011]玛雅游戏 (搜索) Description Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个7行5列的棋盘,上面堆放着一些方块,方块不能悬空 ...

  2. Linux追加文件内容并在内容前加上该文件名(awk, FILENAME功能妙用)

    假如有三个文件file1.txt,file2.txt,file3.txt 每一个文件内容如下: 现在打算提取每一个文件字符为16的行,打印该行所有的内容.以及该文件名,并追加到file4.txt,则可 ...

  3. mysql 多表管理修改

    update t_res_ys,cms_article_data,cms_article set cms_article_data.jsdata=t_res_ys.jsdata ,cms_articl ...

  4. 【清北学堂2018-刷题冲刺】Contest 8

    Task 1:关联点 [问题描述]  ⼆叉树是⼀种常用的数据结构,⼀个⼆叉树或者为空,或者由根节点.左⼦树.右⼦树构成,其中左⼦树和右⼦树都是⼆叉树. 每个节点a 可以存储⼀个值val.  显然,如果 ...

  5. 读取数据库配置信息的两种方式(以后开发项目用java链接数据库)-------java基础知识

    第一步:先建立jdbc.properties user=root password url/yanlong driver=com.mysql.jdbc.Driver 第一种方式:直接文件读取 pack ...

  6. java基础基础总结----- 关键字、标识符、注释、常量和变量、运算符、语句、函数、数组(三)

    Java语言基础组成:关键字.标识符.注释.常量和变量.运算符.语句.函数.数组 一.标识符 标识符是在程序中自定义的一些名称,由大小写字母[a-zA-Z],数字[0-9],下划线[ _ ],特殊字符 ...

  7. Java IO笔记

    第一:File类(主要获取文件名,判断文件是否存在,创建或者删除文件) 举个例子,代码如下: import java.io.File; public class Main{ public static ...

  8. 读取Easy UI的DATa grid里面的所有数据

    目前我知道的有两种方法: 1.读取行数,循环读出 $("#btnEcxel").click(function () { var rows = $('#tbVehicleList') ...

  9. minio上传大于30M文件失败

    minio上传30M文件失败.提示失败或者进度不动.翻查手册发现并未限速.原因是使用了nginx做代理.上传超过30M大的客户端文件无法正常上传,修改了下nginx的配置,就可以了. 加上client ...

  10. Newtonsoft.Json 两个Attribute含义

    1.[JsonIgnore] 看名字就知道了,通过这个Attribute可以忽略序列化某个实体类字段 2.[JsonProperty("Font")] 设置序列化到json中的实际 ...