Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Percona Toolkit 神器全攻略(配置类)

Percona Toolkit 神器全攻略(配置类)

作者头像
GreatSQL社区
发布于 2024-06-21 09:14:04
发布于 2024-06-21 09:14:04
1700
举报

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 Percona Toolkit 神器全攻略系列共八篇,前文回顾: 前文回顾Percona Toolkit 神器全攻略 Percona Toolkit 神器全攻略(实用类) 全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续阅读中,依据此约定进行理解与操作 配置类 在Percona Toolkit中配置类共有以下工具

  • pt-config-diff:比较数据库配置文件和参数
  • pt-mysql-summary:对MySQL/GreatSQL配置和status进行汇总
  • pt-variable-advisor:分析参数,并提出建议

pt-config-diff 概要 比较 MySQL/GreatSQL 配置文件和服务器变量 用法

  • pt-config-diff [OPTIONS] CONFIG CONFIG [CONFIG...]

选项 该工具所有选项如下 连接 MySQL/ GreatSQL 时提示输入密码 最佳实践 首先创建两个配置文件(这里为了示范方便配置文件内容较少) # 以下创建test_my_1.cnf配置文件 $ vim test_my_1.cnf [client] socket = /data/GreatSQL/mysql.sock [mysql] loose-skip-binary-as-hex no-auto-rehash [mysqld] user = mysql port = 3306 server_id = 3306 innodb_buffer_pool_size = 16G loose-group_replication_group_seeds = '172.16.16.10:33061,172.16.16.12:33061,172.16.16.12:33061' loose-group_replication_group_name = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1" # 以下创建test_my_2.cnf配置文件 $ vim test_my_2.cnf [client] socket = /data/greatsql/greatsql.sock [mysql] loose-skip-binary-as-hex no-auto-rehash [mysqld] user = greatsql port = 3308 server_id = 3308 innodb_buffer_pool_size = 8G loose-group_replication_group_seeds = '172.16.10:33081,172.16.10:33081,172.16.10:33081' loose-group_replication_group_name = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaab1" 因为在配置MGR的时候,需要集群中的my.cnf部分配置一致,所以这个配置文件对比还是很有用处的 配置文件对比 不一致才会输出,如果完全一致不会输出 $ pt-config-diff /data/test_my_1.cnf /data/test_my_2.cnf 6 config differences Variable /data/test_my_1.cnf /data/test_my_2.cnf ========================= ========================= ========================= innodb_buffer_pool_size 17179869184 8589934592 loose_group_replicatio... aaaaaaaa-aaaa-aaaa-aaa... aaaaaaaa-aaaa-aaaa-aaa... loose_group_replicatio... 172.16.16.10:33061,172... 172.16.10:33081,172.16... port 3306 3308 server_id 3306 3308 user mysql greatsql 但是上面的输出不够完整,有的输出被省略,此时可以加上--report-width 200,便可完整输出 $ pt-config-diff /data/test_my_1.cnf /data/test_my_2.cnf --report-width 200 6 config differences Variable /data/test_my_1.cnf /data/test_my_2.cnf ========================== ======================================================== =============================================== innodb_buffer_pool_size 17179869184 8589934592 loose_group_replication... aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1 aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaab1 loose_group_replication... 172.16.16.10:33061,172.16.16.12:33061,172.16.16.12:33061 172.16.10:33081,172.16.10:33081,172.16.10:33081 port 3306 3308 server_id 3306 3308 user mysql greatsql 配置文件和系统变量对比 配置文件与本机GreatSQL系统变量对比,如果完全一致,则不输出 $ pt-config-diff --report-width=200 /etc/my.cnf u=root,p= 1 config difference Variable /etc/my.cnf myarch ========================= =========== ================================ slow_query_log_file slow.log /data/GreatSQL/myarch.log.000001 系统变量之间的对比 两台不同的数据库实例之间的系统变量对比 $ pt-config-diff --report-width=200 h=192.168.6.55,P=3306,u=GreatSQL,p= h=192.168.6.129,P=3306,u=test,p='test' 104 config differences Variable myarch hy ========================== ==================================================================== ==================================================================== admin_tls_version TLSv1.2,TLSv1.3 TLSv1.2 back_log 1024 151 basedir /usr/local/GreatSQL-8.0.32-25-Linux-glibc2.28-x86_64/ /usr/local/GreatSQL-8.0.32-25-Linux-glibc2.17-x86_64/ binlog_cache_size 4194304 32768 binlog_expire_logs_seconds 604800 2592000 binlog_rows_query_log_e... ON OFF ......下方省略 pt-mysql-summary 概要 打印出来MySQL/GreatSQL的描述信息,包括:版本信息,数据目录,命令的统计,用户,数据库以及复制等信息还包括各个变量(status、variables)信息和各个变量的比例信息,还有配置文件等信息。 用法

  • pt-mysql-summary [OPTIONS]

选项 该工具所有选项如下 mysqldump 并汇总所有数据库 最佳实践 $ pt-mysql-summary --user=root --password=greatsql --host=localhost --port=3306 此时会输出所有关于GreatSQL的信息,但是要注意很多输出都是做了四舍五入,并不是精确的数据 不建议此工具远程连接其它数据库,因为可能导致输出数据混乱 接下来将此工具输出结果分成各个模块介绍 # Percona Toolkit MySQL Summary Report ####################### System time | 2024-03-14 08:19:45 UTC (local TZ: CST +0800) # Instances ################################################## Port Data Directory Nice OOM Socket ===== ========================== ==== === ====== # MySQL Executable ########################################### Path to executable | /usr/local/GreatSQL-8.0.32-25-Linux-glibc2.28-x86_64/bin/mysqld Has symbols | Yes # Slave Hosts ################################################ No slaves found 这四个部分显示报告是在哪台服务器上生成的以及该服务器上正在运行哪些 GreatSQL 实例,这是从 ps 的输出中检测到的,并不总是检测所有实例和参数。 # Report On Port 3306 ######################################## User | root@localhost Time | 2024-03-14 16:19:45 (+08:00) Hostname | myarch Version | 8.0.32-25 GreatSQL, Release 25, Revision 79f57097e3f Built On | Linux x86_64 Started | 2024-03-08 09:50 (up 6+06:29:24) Databases | 9 Datadir | /data/GreatSQL/ Processes | 2 connected, 2 running Replication | Is not a slave, has 0 slaves connected Pidfile | mysql.pid (does not exist) 本节是 GreatSQL 实例的快速摘要:版本、正常运行时间和其他非常基本的参数。时间输出是从 GreatSQL 服务器生成的,可能与之前打印的系统日期和时间不同,如果不同的话可以检查下数据库和操作系统的时间是否匹配 # Processlist ################################################ Command COUNT(*) Working SUM(Time) MAX(Time) ------------------------------ -------- ------- --------- --------- Daemon 1 1 500000 500000 Query 1 1 0 0 Sleep 1 0 450 450 ......中间省略 State COUNT(*) Working SUM(Time) MAX(Time) ------------------------------ -------- ------- --------- --------- 1 0 0 0 init 1 1 0 0 Waiting on empty queue 1 1 500000 500000 本节是 SHOW PROCESSLIST 输出的摘要,这里的数字会四舍五入,不是最精确的 # Status Counters (Wait 10 Seconds) ########################## Variable Per day Per second 10 secs Aborted_clients 10 Aborted_connects 2 Binlog_snapshot_position 100 .......中间省略 Table_open_cache_overflows 30 Threadpool_idle_threads 2 Threadpool_threads 2 Threads_created 25 Uptime 90000 1 1 此部分显示从 SHOW GLOBAL STATUS 的两个快照中选择的计数器,这些快照间隔大约 10 秒收集并进行模糊舍入。

  • 第一列是变量名称。
  • 第二列是第一个快照的计数器除以 86400(一天的秒数),因此您可以看到计数器每天的变化幅度。86400 次模糊轮换到 90000,因此正常运行时间计数器应始终约为 90000。
  • 第三列是第一个快照的值,除以正常运行时间,然后进行模糊舍入,因此它大致表示计数器在服务器正常运行时间内每秒增长的速度。
  • 第四列是第一个和第二个快照的增量差异,除以正常运行时间的差异,然后进行模糊舍入。因此,它显示了生成报告时计数器每秒增长的速度。

# Table cache ################################################ Size | 1024 Usage | 70% 此部分显示表缓存的大小,后面是表缓存的使用百分比。 # Key Percona Server features ################################ Table & Index Stats | Disabled Multiple I/O Threads | Enabled Corruption Resilient | Enabled Durable Replication | Not Supported Import InnoDB Tables | Not Supported Fast Server Restarts | Not Supported Enhanced Logging | Disabled Replica Perf Logging | Enabled Response Time Hist. | Not Supported Smooth Flushing | Not Supported HandlerSocket NoSQL | Not Supported Fast Hash UDFs | Unknown 本节显示 Percona Server 中可用的特性和启用情况。 # Plugins #################################################### InnoDB compression | ACTIVE 本节显示特定插件以及它们是否已启用 该工具只检测少数几个Plugin,并不是所有的插件都检测 # Schema ##################################################### Specify --databases or --all-databases to dump and summarize schemas # 如果没指定--databases or --all-databases 则不会打印 # Schema ##################################################### Database Tables Views SPs Trigs Funcs FKs Partn mysql 38 aptest 7 db2 1 sys_audit 1 test_db 11 tpch 8 Database InnoDB CSV aptest 7 db2 1 mysql 2 2 sys_audit 1 test_db 11 tpch 8 Database BTREE aptest 7 db2 1 mysql 45 sys_audit 1 test_db 19 tpch 17 # 下方部分输出为了紧凑显示,作者将这些列标题设置为垂直输出 # 需要您从顶部向下阅读,第一列是 char ,第二列是 timestamp c t s i t e v f t b s j b m m t d d d d h i e n e n a l i i m s l e e i a o a e a m t t x u r o n g a o o d d m t u t c r e t m c a y i l n b i i e e b e i s h t i n l u u t l m t a n t i m m i e a a r t n t b m l m t e l e p x o t b Database === === === === === === === === === === === === === === === === === === === === aptest 23 1 58 19 9 3 2 db2 1 1 mysql 64 10 4 46 31 61 25 5 15 23 6 2 4 2 2 2 sys_audit 11 1 test_db 3 2 33 2 29 4 3 1 7 2 5 tpch 16 19 13 4 9 如果您指定 --databases--all-databases ,该工具将打印以上部分 本节显示了数据库中对象的数量和类型,它是通过运行 mysqldump --no-data 生成的,而不是通过查询INFORMATION_SCHEMA生成 本节中的第一个子报告是每个数据库中按类型划分的对象计数:表、视图等。第二个显示每个数据库中有多少表使用不同的存储引擎。第三个子报告显示每个数据库中每种类型索引的数量。 最后一部分显示每个数据库中各种数据类型的列数。为了紧凑显示,列标题的格式是垂直的,因此您需要从顶部向下阅读。在此示例中,第一列是 char ,第二列是 timestamp 这部分输出的数字都是精确的,不是四舍五入的 # Noteworthy Technologies #################################### SSL | No Explicit LOCK TABLES | No Delayed Insert | No XA Transactions | No NDB Cluster | No Prepared Statements | No Prepared statement count | 0 此部分显示该服务器上使用的一些特定技术。 # InnoDB ##################################################### Version | 8.0.32-8.0.32 Buffer Pool Size | 2.0G Buffer Pool Fill | 70% Buffer Pool Dirty | 0% ......中间省略 Pending I/O Flushes | 7 buf pool, 0 log Transaction States | 3xnot started 此部分显示InnoDB 存储引擎的重要配置变量。缓冲池填充百分比和脏百分比是模糊舍入的。最后几行来自 SHOW INNODB STATUS 的输出。 # MyISAM ##################################################### Key Cache | 32.0M Pct Used | 20% Unflushed | 0% 此部分显示 MyISAM 键缓存的大小,后面是正在使用的缓存百分比和未刷新百分比(四舍五入) # Security ################################################### Users | 2 users, 0 anon, 0 w/o pw, 2 old pw Old Passwords | 此部分显示根据对 GreatSQL 系统数据库中的表的查询生成的。它显示了存在多少用户,以及各种潜在的安全风险,例如旧式密码和无密码的用户。 # Binary Logging ############################################# Binlogs | 8 Zero-Sized | 0 Total Size | 10.6G binlog_format | ROW expire_logs_days | 0 sync_binlog | 1 server_id | 3306 binlog_do_db | binlog_ignore_db | 此部分显示二进制日志的配置和状态。如果存在大小为0的二进制日志,则可能是二进制日志索引与磁盘上实际存在的二进制日志不同步。 # Noteworthy Variables ####################################### Auto-Inc Incr/Offset | 1/1 default_storage_engine | InnoDB flush_time | 0 init_connect | init_file | sql_mode | ......中间省略 log_queries_not_using_indexes | ON log_slave_updates | ON 此部分显示几个值得注意的服务器配置变量,在使用该服务器时了解这些变量可能很重要。 # Configuration File ######################################### Config File | /etc/my.cnf 最后部分显示 my.cnf 文件的精美打印版本,其中删除了注释并添加了空格以对齐内容以便于阅读。 pt-variable-advisor 概要 这是一款分析参数,并且给出参数设置建议的工具 用法

  • pt-variable-advisor [OPTIONS] [DSN]

选项 该工具所有选项如下 连接 MySQL/ GreatSQL 时提示输入密码 最佳实践 分析本地GreatSQL数据库参数的一些建议 $ pt-variable-advisor localhost # WARN delay_key_write: MyISAM index blocks are never flushed until necessary. # WARN innodb_log_buffer_size: The InnoDB log buffer size generally should not be set larger than 16MB. # NOTE read_buffer_size-1: The read_buffer_size variable should generally be left at its default unless an expert determines it is necessary to change it. # NOTE read_rnd_buffer_size-1: The read_rnd_buffer_size variable should generally be left at its default unless an expert determines it is necessary to change it. # NOTE sort_buffer_size-1: The sort_buffer_size variable should generally be left at its default unless an expert determines it is necessary to change it. # WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled. # NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later. # WARN myisam_recover_options: myisam_recover_options should be set to some value such as BACKUP,FORCE to ensure that table corruption is noticed. 当然也可以把SHOW VARIABLES输出的结果保存在pt_va.txt文件中,然后再用工具分析 $ pt-variable-advisor localhost --source-of-variables pt_va.txt 个人觉得除了非常明显的错误,否则这个建议没有太多的意义。 这里也推荐一个网页版的MySQL/GreatSQL状态诊断工具,由叶老师出品 https://imysql.com/my-state-diag.html 本文完 :) 下章节将介绍Percona Toolkit 神器全攻略(监控类)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GreatSQL社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Percona Toolkit 神器全攻略
* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 Percona Toolkit 神器全攻略 Percona Toolkit 神器全攻略系列共八篇分为 文章名文章名Percona Toolkit 神器全攻略Percona Toolkit 神器全攻略(实用类)Percona Toolkit 神器全攻略(配置类)Percona Toolkit 神器全攻略(监控类)Percona Toolkit 神器全攻略(系统类)Percona Toolkit 神器全攻略(开发类)Percona Toolkit 神器全攻略(复制类)Percona Toolkit 神器全攻略(性能类) 全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续阅读中,依据此约定进行理解与操作 Percona Toolkit 简介 Percona Toolkit简称(PT工具),是一组高级命令行工具,用于管理MySQL/GreatSQL的工具。可以用它来执行各种难以手动执行的MySQL/GreatSQL和系统任务。其功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、在线DDL等,DBA熟悉掌握PT工具后将极大提高工作效率。
GreatSQL社区
2024/05/20
1780
Percona Toolkit 神器全攻略
Percona-toolkit的安装和配置(r8笔记第86天)
pt工具是非常实用有效的一个工具集,对于诊断常规问题还是非常有效的,相比于Oracle的工具,MySQL中没有那么多复杂的数据字典,在实现方式上相对更加轻巧,主要都是针对日志的挖掘。在庞大复杂的日志中能够找出一些非常有效的信息,确实难能可贵。 image.png 在官网上查看Percona的系列产品,可以看到Percona Toolkit的一个Logo好像是条鹿犬。 image.png 如果查看用户手册,可以看到里面有非常多的命令,如果没有分门别类还是没有任何的方向。 在此找到同事之前的分享,工具的分类如下
jeanron100
2018/03/19
1.1K0
Percona-toolkit的安装和配置(r8笔记第86天)
Percona Toolkit 神器全攻略(实用类)
Percona Toolkit 神器全攻略系列共八篇,前文回顾: 前文回顾Percona Toolkit 神器全攻略 全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续阅读中,依据此约定进行理解与操作 实用类 在Percona Toolkit中实用类共有以下工具
GreatSQL社区
2024/05/30
2180
技术分享 | 将GreatSQL添加到系统systemd服务
systemd 是Linux系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程,systemd被设计用来改进原来sysvinit中的多个缺点。
老叶茶馆
2021/07/09
1.7K0
技术分享 | 利用GreatSQL部署MGR集群,并完成添加新节点 、滚动升级、切主(超详细)
本文详细介绍如何在单机环境下,利用GreatSQL构建一个3节点的MGR集群,并用mysqld_multi进行管理。
老叶茶馆
2021/07/09
1.3K0
技术分享   | 利用GreatSQL部署MGR集群,并完成添加新节点 、滚动升级、切主(超详细)
在Linux下源码编译安装GreatSQL/MySQL
本次介绍如何利用Docker来将GreatSQL源码编译成二进制文件,以及制作二进制包、RPM包等。
老叶茶馆
2021/08/26
2.5K0
MySQL Group Replication的安装部署
这次给大家介绍下MySQL官方最新版本5.7.17中GA的新功能 Group Replication 。
py3study
2020/02/26
1.4K0
3. 安装部署MGR集群 | 深入浅出MGR
> * GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
GreatSQL社区
2022/02/08
1.1K0
【Percona-toolkit系列】Percona Toolkit工具之pt-config-diff
在日常运维过程中,我们时常遇到这样的烦恼,两套库配置差不多,性能就是不一样,或者将自建的数据库迁移到云上之后,性能差别非常的大;无奈之举,去比对数据库配置是否相同,人肉对比,不仅效率低下而且容易出错哦。pt拿出了这么一个神器,专门对比mysql配置,有这么几种对比方式:
SEian.G
2021/03/03
8650
Percona Toolkit 神器全攻略(监控类)
pt-deadlock-logger 概要 提取和记录MySQL/GreatSQL死锁 用法
GreatSQL社区
2024/07/06
1550
Percona Toolkit 神器全攻略(监控类)
MGR新节点RECOVERING状态的分析与解决:caching_sha2_password验证插件的影响
在GreatSQL社区上有一位用户提出了“手工构建MGR碰到的次节点一直处于recovering状态”,经过排查后,发现了是因为新密码验证插件caching_sha2_password导致的从节点一直无法连接主节点,帖子地址:➥https://greatsql.cn/thread-420-2-1.html
GreatSQL社区
2023/09/20
3530
MGR新节点RECOVERING状态的分析与解决:caching_sha2_password验证插件的影响
MySQL Shell如何接管手动搭建(含仲裁节点)MGR集群
连接 Primary 节点,查看下原来的账户权限情况,对MGR专属账户增加相应授权
GreatSQL社区
2023/11/27
3670
MySQL Shell如何接管手动搭建(含仲裁节点)MGR集群
GreatSQL 构建高效 HTAP 服务架构指南(MGR)
本服务架构采用 GreatSQL MGR 架构,在 MGR 架构中部署一个专属 HTAP 服务节点。Primary 节点采用默认 InnoDB 引擎,Secondary 节点使用辅助引擎 Rapid 加速查询构建专属 HTAP 只读节点。加上 MySQL Router 等之类的代理/中间件负责读写分离来完成 HTAP 服务架构。
GreatSQL社区
2024/07/26
1410
GreatSQL 构建高效 HTAP 服务架构指南(MGR)
GreatSQL Shell如何接管手动搭建(含仲裁节点)MGR集群
连接 Primary 节点,查看下原来的账户权限情况,对MGR专属账户增加相应授权
老叶茶馆
2024/04/02
1460
GreatSQL Shell如何接管手动搭建(含仲裁节点)MGR集群
组复制常规操作-使用xtrabackup备份恢复或添加组成员 | 全方位认识MySQL8.0 Group Replication
xtrabackup 8.0版本支持备份时不加全局读锁(不执行FLUSH TABLE WITH READ LOCK语句),这就避免了在组复制中启用多线程回放的组成员上执行备份时造成锁死的现象,但是,为了保证一致性,是通过执行FLUSH NO_WRITE_TO_BINLOG BINARY LOGS语句来切换二进制日志,并拷贝最后一个二进制日志,在执行恢复时使用最后一个二进制日志来恢复一致性位置的方式来变相实现的。如果有大事务,则存在无法切换二进制日志的风险(执行切换二进制日志的语句可能会被长时间阻塞),具体情况请大家自行斟酌,做好充足的测试。
老叶茶馆
2020/11/26
7640
Percona Toolkit系列 — pt-config-diff
pt-config-diff是Percona Toolkit工具集的其中一个,主要用于my.cnf配置文件和show global variables系统变量之间的对比,下面简单介绍一下。
brightdeng@DBA
2021/04/27
1.7K2
Percona Toolkit系列 — pt-config-diff
图文结合丨GreatSQL MGR + ProxySQL集群搭建方案
ProxySQL 是基于 MySQL 的一款开源的中间件的产品,是一个灵活的 MySQL 代理层,可以实现读写分离,支持 Query 路由功能,支持动态指定某个 SQL 进行缓存,支持动态加载(无需重启 ProxySQL 服务),故障切换和一些 SQL 的过滤功能。
GreatSQL社区
2023/09/20
3270
图文结合丨GreatSQL MGR + ProxySQL集群搭建方案
深度解析Percona Toolkit工具集
Percona Toolkit是一套专业的MySQL和MariaDB数据库管理工具,涵盖了从性能优化到数据同步和备份恢复的多个方面。本文将深入探讨Percona Toolkit工具集的核心功能和使用场景,帮助你更好地理解和利用这些强大的数据库工具。
DBA实战
2024/09/06
7000
深度解析Percona Toolkit工具集
Percona-tookit学习笔记(六)
# NOTE connect_timeout: A largevalue of this setting can create a denial of service vulnerability.
保持热爱奔赴山海
2019/09/18
5570
Percona-tookit学习笔记(六)
GreatSQL 8.0.25-16初体验
打开链接 https://gitee.com/GreatSQL/GreatSQL/releases/GreatSQL-8.0.25-16 下载GreatSQL 8.0.25-16安装包,因为是CentOS 8.4 x86_64的环境,所以下载 el8*x86_64 字样的几个PRM包:
GreatSQL社区
2023/02/24
4130
推荐阅读
相关推荐
Percona Toolkit 神器全攻略
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档