Py学习  »  DATABASE

Mysql调优工具:mysqltuner.pl及tuning-primer.sh

IT大咖说 • 8 月前 • 89 次点击  

一、概述

MySQL调优工具是用于分析和优化MySQL数据库性能的软件工具。它们可以帮助识别潜在的性能瓶颈、优化查询性能、调整配置参数以及提高数据库的吞吐量和响应时间。今天分享2个常用的工具。

  • mysqltuner.pl:一款免费的Perl脚本工具,用于检查和优化MySQL服务器的配置参数。MySQLTuner会分析MySQL的状态和配置,提供建议来改进性能和安全性。

  • tuning-primer.sh:是一种Shell脚本工具,用于评估和优化MySQL服务器的配置参数。它可以帮助您检查MySQL服务器的状态和配置,并提供相应的建议和优化建议。


二、解决方案

2.1 mysqltuner.pl

mysqltuner.pl是一个简单而有效的工具,可以帮助您评估和优化MySQL服务器的配置和性能。它提供有关配置、性能和安全性方面的建议,使您能够针对具体问题做出相应的调整和改进。请注意,mysqltuner.pl是一个独立的第三方工具,使用前请确保阅读并理解其文档和指南。

2.1.1 mysqltuner.pl的特点和功能

  • 配置建议:mysqltuner.pl会分析MySQL服务器的配置参数,并提供针对这些参数的建议。它会检查各个参数的设置,并根据最佳实践和性能优化原则,给出相应的建议。这些建议可以帮助您优化服务器配置以获得更好的性能和安全性。

  • 性能建议:除了配置参数,mysqltuner.pl还会分析MySQL服务器的性能指标,如查询缓存命中率、连接数、临时表使用等。它可以提供有关性能瓶颈和优化机会的建议,帮助您识别潜在的性能问题并采取相应的措施。

  • 安全建议:mysqltuner.pl还提供有关MySQL服务器安全性的建议。它会检查安全相关的配置参数和权限设置,并给出改进安全性的建议。这有助于确保MySQL服务器的安全性并防止潜在的安全漏洞。

  • 自动化分析:mysqltuner.pl是一个自动化的工具,可以在您的MySQL服务器上运行,并生成相应的报告。它会收集服务器的状态和配置信息,并对其进行分析和评估。生成的报告中包含详细的建议和统计信息,供您参考和采取相应的措施。

使用语法:

[root@mysqlserver ~]# perl ./mysqltuner.pl --help
Name:
MySQLTuner 2.2.8 - MySQL High Performance Tuning Script

Important Usage Guidelines:
To run the script with the default options, run the script without
arguments Allow MySQL server to run for at least 24-48 hours before
trusting suggestions Some routines may require root level privileges
(script will provide warnings) You must provide the remote server's
total memory when connecting to other servers

Connection and Authentication:
--host Connect to a remote host to perform tests (default: localhost)
--socket Use a different socket for a local connection
--port Port to use for connection (default: 3306)
--protocol tcp Force TCP connection instead of socket
--user Username to use for authentication
--userenv Name of env variable which contains username to use for authentication
--pass Password to use for authentication
--passenv Name of env variable which contains password to use for authentication
--ssl-ca Path to public key
--mysqladmin Path to a custom mysqladmin executable
--mysqlcmd Path to a custom mysql executable
--defaults-file Path to a custom .my.cnf
--defaults-extra-file Path to an extra custom config file
--server-log Path to explicit log file (error_log)

Performance and Reporting Options:
--skipsize Don'
t enumerate tables and their types/sizes (default: on)
(Recommended for servers with many tables)
--json Print result as JSON string
--prettyjson Print result as JSON formatted string
--skippassword Don't perform checks on user passwords (default: off)
--checkversion Check for updates to MySQLTuner (default: don't check)
--updateversion Check for updates to MySQLTuner and update when newer version is available (default: don't check)
--forcemem Amount of RAM installed in megabytes
--forceswap Amount of swap memory configured in megabytes
--passwordfile Path to a password file list (one password by line)
--cvefile CVE File for vulnerability checks
--outputfile Path to a output txt file
--reportfile Path to a report txt file
--template Path to a template file
--dumpdir Path to a directory where to dump information files
--feature Run a specific feature (see FEATURES section)
=head1 OUTPUT OPTIONS

--silent Don't output anything on screen
--verbose Print out all options (default: no verbose, dbstat, idxstat, sysstat, tbstat, pfstat)
--nocolor Don't print output in color
--nogood Remove OK responses
--nobad Remove negative/suggestion responses
--noinfo Remove informational responses
--debug Print debug information
--noprocess Consider no other process is running
--dbstat Print database information
--nodbstat Don't print database information
--tbstat Print table information
--notbstat Don't print table information
--colstat Print column information
--nocolstat Don't print column information
--idxstat Print index information
--noidxstat Don't print index information
--nomyisamstat Don't print MyIsam information
--sysstat Print system information
--nosysstat Don't print system information
--nostructstat Don't print table structures information
--pfstat Print Performance schema
--nopfstat Don't print Performance schema
--bannedports Ports banned separated by comma (,)
--server-log Define specific error_log to analyze
--maxportallowed Number of open ports allowable on this host
--buffers Print global and per-thread buffer values

2.1.2 使用过程

1、上传运行此脚本的linux服务器并赋予执行权限




    
chmod 755  mysqltuner.pl

2、执行分析

[root@mysqlserver ~]# perl ./mysqltuner.pl  --host 192.168.209.128 --port 3307 --user root --pass 'Rootasdf2023##'

参数说明:

  • --host:指定连接的主机

  • --port:主机端口

  • --user:数据库用户

  • --pass:数据库的密码

2.2 tuning-primer.sh

tuning-primer.sh是一个方便的工具,可以帮助您评估和优化MySQL服务器的配置和性能。它提供了有关配置、性能和安全性方面的评估和建议,使您能够做出相应的调整和改进。

2.2.1 tuning-primer.sh的特点和功能

  • 配置评估:tuning-primer.sh会分析MySQL服务器的配置参数,并评估它们的设置。它会检查各个参数的值,并提供有关配置优化的建议。这些建议基于最佳实践和性能优化原则,旨在改善服务器的性能和稳定性。

  • 性能评估:除了配置参数,tuning-primer.sh还会收集和分析MySQL服务器的性能指标。它会检查缓存使用情况、连接数、索引使用等方面的统计信息,并提供有关性能瓶颈和调优机会的建议。这些建议可以帮助您识别潜在的性能问题并采取相应的措施。

  • 安全评估:tuning-primer.sh还提供有关MySQL服务器安全性的评估。它会检查安全相关的配置参数和权限设置,并给出改善安全性的建议。这有助于确保MySQL服务器的安全性并减少潜在的安全风险。

  • 报告生成:tuning-primer.sh生成一个详细的报告,其中包含服务器配置、性能评估和建议。报告提供了对服务器状态和潜在问题的全面概述,以及相应的建议和优化提示。您可以使用生成的报告作为参考,根据需要进行配置和性能优化。

2.2.2 使用方法

1、上传到服务器,并赋予执行权限

chmod 755 tuning-primer.sh

2、·执行分析

./tuning-primer.sh

输出结果:




三、两者比较

  • 语言和平台:mysqltuner.pl是一个Perl脚本工具,而tuning-primer.sh是一个Shell脚本工具。这意味着它们使用不同的脚本语言和运行环境。这一点可能会影响到在不同系统上的可用性和运行方式。

  • 功能:两者都提供了对MySQL服务器的配置参数、性能指标和安全性的评估。它们分析服务器的状态和配置,并给出相应的建议和优化提示。然而,它们的具体实现和生成的报告可能有所不同,因此建议在使用之前详细了解其功能和输出。个人感觉最大的不同是mysqltuner.pl支持远程连接,而tuning-primer.sh仅支持本机连接。

  • 社区支持和更新:mysqltuner.pl和tuning-primer.sh都是由开源社区开发和维护的工具。然而,它们的社区支持和更新频率可能有所不同。建议在选择使用之前,查看其社区的活跃程度和最新的版本状态。

  • 定制性和可扩展性:由于是脚本工具,mysqltuner.pl和tuning-primer.sh都具有一定的定制性和可扩展性。您可以根据自己的需求进行修改和定制,以适应特定环境和配置。

四、下载地址

https://www.xsoftnet.com/share/a000DfntxEeev.html



来源:https://www.toutiao.com/article/7270495045277614633/?log_from=a3654e8c67037_1693359512839&wid=1693359658187

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com





来都来了,走啥走,留个言呗~




 IT大咖说  |  关于版权 

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!


相关推荐


推荐文章

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/161050
 
89 次点击