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. Service 启动Activity

    1, 在BroadcastReceiver中启动Activity的问题  *  * 如果在BroadcastReceiver的onReceive()方法中如下启动一个Activity  * Inten ...

  2. Holiday、Vacation、Days off、Leave、Break

    http://write.scu.edu.tw/view.php?bd=mistake&no=25 這些字在英文的用法中都有放假.休息的意思,但用法卻不太一樣,接下來就來看看它們的不同吧. 『 ...

  3. 「loj3058」「hnoi2019」白兔之舞

    题意 有一个\((L+1)*n\) 的网格图,初始时白兔在\((0,X)\) , 每次可以向横坐标递增,纵坐标随意的位置移动,两个位置之间的路径条数只取决于纵坐标,用\(w(i,j)\) 表示,如果要 ...

  4. 【洛谷P5018】对称二叉树

    题目大意:定义对称二叉树为每个节点的左右子树交换后与原二叉树仍同构的二叉树,求给定的二叉树的最大对称二叉子树的大小. 代码如下 #include <bits/stdc++.h> using ...

  5. typescript基础类型(学习笔记非干货)

    布尔值 Boolean let isDone:boolean=false; 数字 Number let decLiteral:number=6; let hexLiteral:number=0xf00 ...

  6. Array 新增加的一些API用法

    es6中新增加了数组的一些用法,基本上是看例子就可以大致明白具体意思. Array.from Array.from方法用于将两类对象转为真正的数组:类似数组的对象和可遍历的对象(包括 ES6 新增的数 ...

  7. R语言:随机抽样(sample函数)

    如果想从一堆数据集中随机抽出一个数,用sample函数就能实现,代码展示如下: forehead<-c(249,189,128,111,184,233,313,120,151,196,135,1 ...

  8. 多目标遗传算法 ------ NSGA-II (部分源码解析)目标函数 problemdef.c

    /* Test problem definitions */ # include <stdio.h> # include <stdlib.h> # include <ma ...

  9. ThinkPHP 3.2 DEMO案例系列【phpmailer批量发送邮件】

    但是邮件和短信相比在一些场景依然有着重要的意义和优势: 1:零成本:发邮件没有费用: 2:内容丰富且量大:邮件可以长篇大论:图文并茂: 3:增加访问量:用户很容易通过邮件中的链接访问网站: 好了:下面 ...

  10. SNMP收集

    http://velep.com/archives/416.html     协议基本格式