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. MySQL常用辅助语句

    查看索引: mysql> show index from user_info; +-----------+------------+----------+--------------+----- ...

  2. ArrayList创建步骤及基本方法

    ArrayList创建变量的步骤 ArrayList ------>集合 1: 导入包 java.util.ArrayList包中 2: 创建引用类型的变量 数据类型< 集合存储的数据类型 ...

  3. linux centos7安装python3

    折腾 Python官网: https://www.python.org/ 查看相关评论,众人大呼python2与python3为两种语言,既然继承性不大,那我也就直接学python3了. 在系统选择, ...

  4. 关于mysql数据库优化

    关于mysql数据库优化 以我之愚见,数据库的优化在于优化存储和查询速度 目前主要的优化我认为是优化查询速度,查询速度快了,提高了用户的体验 我认为优化主要从两方面进行考虑, 优化数据库对象, 优化s ...

  5. 虚拟化技术之KVM

    虚拟化技术之KVM 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是虚拟化 其实虚拟化技术已经不是一个新技术了,上个世纪六十年代IBM公司已经在使用,只不过后来(上个世纪八 ...

  6. mysql数据库中case when 的用法

    场景1:比如说我们在数据库存了性别的字段,一般都是存0 和 1 代表男和女   然后我们会得到0和1之后在java中判断 ,很麻烦有么有?其实我们完全可以在sql中判断好之后拿来现成的.就是在sql中 ...

  7. bzoj千题计划302:bzoj3160: 万径人踪灭

    https://www.lydsy.com/JudgeOnline/problem.php?id=3160 不连续的回文串数量=所有的回文序列数量-连续的回文子串 连续的回文子串: manacher ...

  8. Linux - 文件ACL权限控制

    getfacl 1.test # 查看文件ACL权限 setfacl -R -m u:xuesong:rw- 1.test # 对文件增加用户的读写权限 -R 递归

  9. Pytorch中的torch.cat()函数

    cat是concatnate的意思:拼接,联系在一起. 先说cat( )的普通用法 如果我们有两个tensor是A和B,想把他们拼接在一起,需要如下操作: C = torch.cat( (A,B),0 ...

  10. luogu P4448 [AHOI2018初中组]球球的排列

    这道题我一上来只会80 还是要感谢题解区大佬题解的帮助 先考虑若\(xy,xz\)为完全平方数,则\(yz\)也为完全平方数,因为\(xy*xz=x^2yz\)为完全平方数,除掉\(x^2\)就行了 ...