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

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

Percona Toolkit 神器全攻略系列共八篇,前文回顾:

前文回顾
Percona Toolkit 神器全攻略
Percona Toolkit 神器全攻略(实用类)

全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续阅读中,依据此约定进行理解与操作

配置类

在Percona Toolkit中配置类共有以下工具

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

pt-config-diff

概要

比较 GreatSQL/MySQL 配置文件和服务器变量

用法

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

选项

该工具所有选项如下

参数含义
--ask-pass连接 GreatSQL/MySQL 时提示输入密码
--charset字符集
--config读取这个逗号分隔的配置文件列表,如果指定,这必须是命令行上的第一个选项
--database连接到该数据库
--defaults-file只从给定文件中读取 GreatSQL/MySQL 选项
--help显示帮助
--host连接到主机
--[no]ignore-case比较变量时不区分大小写
--ignore-variables忽略、不比较这些变量
--password用于连接的密码
--pid创建给定的 PID 文件
--port用于连接的端口号
--[no]report将 GreatSQL/MySQL 配置差异报告打印到 STDOUT
--report-width将报告行截断为设定的字符
--set-vars在这个以逗号分隔的 variable=value 对列表中设置 GreatSQL/MySQL 变量
--socket用于连接的套接字文件
--user登录的用户
--version显示版本
--[no]version-check版本检查

最佳实践

首先创建两个配置文件(这里为了示范方便配置文件内容较少)

# 以下创建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.cnf6 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 2006 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

概要

打印出来GreatSQL/MySQL的描述信息,包括:版本信息,数据目录,命令的统计,用户,数据库以及复制等信息还包括各个变量(status、variables)信息和各个变量的比例信息,还有配置文件等信息。

用法

  • pt-mysql-summary [OPTIONS]

选项

该工具所有选项如下

参数含义
--all-databasesmysqldump 并汇总所有数据库
--ask-pass连接 GreatSQL/MySQL 时提示输入密码
--config读取这个逗号分隔的配置文件列表,如果指定,这必须是命令行上的第一个选项
--databasesmysqldump 并总结这个以逗号分隔的数据库列表。如果要转储和汇总所有数据库,请指定 --all-databases
--defaults-file只从给定文件中读取 GreatSQL/MySQL 选项
--help显示帮助
--host要连接的主机
--list-encrypted-tables包括所有数据库中加密表的列表。这可能会导致速度变慢,因为查询信息模式表可能会很慢。
--password连接时使用的密码
--port用于连接的端口号
--read-samples从此目录中找到的文件创建报告
--save-samples将用于生成摘要的数据文件保存在此目录中
--sleep收集状态计数器时休眠的秒数
--socket用于连接的套接字文件
--user登录的用户
--version显示版本

最佳实践

$ 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/mysqldHas symbols | Yes
# Slave Hosts ################################################
No slaves found

这四个部分显示报告是在哪台服务器上生成的以及该服务器上正在运行哪些 GreatSQL 实例,这是从 ps 的输出中检测到的,并不总是检测所有实例和参数。

# Report On Port 3306 ########################################User | root@localhostTime | 2024-03-14 16:19:45 (+08:00)Hostname | myarchVersion | 8.0.32-25 GreatSQL, Release 25, Revision 79f57097e3fBuilt On | Linux x86_64Started | 2024-03-08 09:50 (up 6+06:29:24)Databases | 9Datadir | /data/GreatSQL/Processes | 2 connected, 2 runningReplication | Is not a slave, has 0 slaves connectedPidfile | mysql.pid (does not exist)

本节是 GreatSQL 实例的快速摘要:版本、正常运行时间和其他非常基本的参数。时间输出是从 GreatSQL 服务器生成的,可能与之前打印的系统日期和时间不同,如果不同的话可以检查下数据库和操作系统的时间是否匹配

# Processlist ################################################Command                        COUNT(*) Working SUM(Time) MAX(Time)------------------------------ -------- ------- --------- ---------Daemon                                1       1    500000    500000Query                                 1       1         0         0Sleep                                 1       0       450       450
......中间省略State                          COUNT(*) Working SUM(Time) MAX(Time)------------------------------ -------- ------- --------- ---------1       0         0         0init                                  1       1         0         0Waiting 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 | 1024Usage | 70%

此部分显示表缓存的大小,后面是表缓存的使用百分比。

# Key Percona Server features ################################Table & Index Stats | DisabledMultiple I/O Threads | EnabledCorruption Resilient | EnabledDurable Replication | Not SupportedImport InnoDB Tables | Not SupportedFast Server Restarts | Not SupportedEnhanced Logging | DisabledReplica Perf Logging | EnabledResponse Time Hist. | Not SupportedSmooth Flushing | Not SupportedHandlerSocket NoSQL | Not SupportedFast 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 Partnmysql         38                                  aptest         7                                  db2            1                                  sys_audit      1                                  test_db       11                                  tpch           8                                  Database  InnoDB CSVaptest         7    db2            1    mysql          2   2sys_audit      1    test_db       11    tpch           8    Database  BTREEaptest        7db2           1mysql        45sys_audit     1test_db      19tpch         17# 下方部分输出为了紧凑显示,作者将这些列标题设置为垂直输出
# 需要您从顶部向下阅读,第一列是 char ,第二列是 timestampc   t   s   i   t   e   v   f   t   b   s   j   b   m   m   t   d   d   d   dh   i   e   n   e   n   a   l   i   i   m   s   l   e   e   i   a   o   a   ea   m   t   t   x   u   r   o   n   g   a   o   o   d   d   m   t   u   t   cr   e           t   m   c   a   y   i   l   n   b   i   i   e   e   b   e   is                   h   t   i   n   l           u   u       t   l       mt                   a       n   t   i           m   m       i   e       aa                   r       t       n           t   b       m           lm                                   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       5tpch       16          19          13                                               4   9

如果您指定 --databases--all-databases ,该工具将打印以上部分

本节显示了数据库中对象的数量和类型,它是通过运行 mysqldump --no-data 生成的,而不是通过查询INFORMATION_SCHEMA生成

本节中的第一个子报告是每个数据库中按类型划分的对象计数:表、视图等。第二个显示每个数据库中有多少表使用不同的存储引擎。第三个子报告显示每个数据库中每种类型索引的数量。

最后一部分显示每个数据库中各种数据类型的列数。为了紧凑显示,列标题的格式是垂直的,因此您需要从顶部向下阅读。在此示例中,第一列是 char ,第二列是 timestamp

这部分输出的数字都是精确的,不是四舍五入的

# Noteworthy Technologies ####################################SSL | NoExplicit LOCK TABLES | NoDelayed Insert | NoXA Transactions | NoNDB Cluster | NoPrepared Statements | NoPrepared statement count | 0

此部分显示该服务器上使用的一些特定技术。

# InnoDB #####################################################Version | 8.0.32-8.0.32Buffer Pool Size | 2.0GBuffer Pool Fill | 70%Buffer Pool Dirty | 0%
......中间省略Pending I/O Flushes | 7 buf pool, 0 logTransaction States | 3xnot started

此部分显示InnoDB 存储引擎的重要配置变量。缓冲池填充百分比和脏百分比是模糊舍入的。最后几行来自 SHOW INNODB STATUS 的输出。

# MyISAM #####################################################Key Cache | 32.0MPct Used | 20%Unflushed | 0%

此部分显示 MyISAM 键缓存的大小,后面是正在使用的缓存百分比和未刷新百分比(四舍五入)

# Security ###################################################Users | 2 users, 0 anon, 0 w/o pw, 2 old pwOld Passwords | 

此部分显示根据对 GreatSQL 系统数据库中的表的查询生成的。它显示了存在多少用户,以及各种潜在的安全风险,例如旧式密码和无密码的用户。

# Binary Logging #############################################Binlogs | 8Zero-Sized | 0Total Size | 10.6Gbinlog_format | ROWexpire_logs_days | 0sync_binlog | 1server_id | 3306binlog_do_db | binlog_ignore_db | 

此部分显示二进制日志的配置和状态。如果存在大小为0的二进制日志,则可能是二进制日志索引与磁盘上实际存在的二进制日志不同步。

# Noteworthy Variables #######################################Auto-Inc Incr/Offset | 1/1default_storage_engine | InnoDBflush_time | 0init_connect | init_file | sql_mode | ......中间省略
log_queries_not_using_indexes | ONlog_slave_updates | ON

此部分显示几个值得注意的服务器配置变量,在使用该服务器时了解这些变量可能很重要。

# Configuration File #########################################Config File | /etc/my.cnf

最后部分显示 my.cnf 文件的精美打印版本,其中删除了注释并添加了空格以对齐内容以便于阅读。

pt-variable-advisor

概要

这是一款分析参数,并且给出参数设置建议的工具

用法

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

选项

该工具所有选项如下

参数含义
--ask-pass连接 GreatSQL/MySQL 时提示输入密码
--charset字符集
--config读取这个逗号分隔的配置文件列表,如果指定,这必须是命令行上的第一个选项
--daemonize后台运行
--database连接到该数据库
--defaults-file只从给定文件中读取 GreatSQL/MySQL 选项
--help显示帮助
--host要连接的主机
--ignore-rules忽略这些规则 ID
--password连接时使用的密码
--pid创建给定的 PID 文件
--port连接时使用的端口号
--set-vars在这个以逗号分隔的 variable=value 对列表中设置 GreatSQL/MySQL 变量
--socket用于连接的套接字文件
--source-of-variables从此源读取 SHOW VARIABLES
--user登录的用户
--verbose增加输出的详细程度
--version显示版本
--[no]version-check版本检查

最佳实践

分析本地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

个人觉得除了非常明显的错误,否则这个建议没有太多的意义。

这里也推荐一个网页版的GreatSQL/MySQL状态诊断工具,由叶老师出品➡https://imysql.com/my-state-diag.html

本文完 :) 下章节将介绍Percona Toolkit 神器全攻略(监控类)


Enjoy GreatSQL :)

关于 GreatSQL

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

image

社区有奖建议反馈: https://greatsql.cn/thread-54-1-1.html

社区博客有奖征稿详情: https://greatsql.cn/thread-100-1-1.html

(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)

技术交流群:

微信&QQ群:

QQ群:533341697

微信群:添加GreatSQL社区助手(微信号:wanlidbc )好友,待社区助手拉您进群。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35503.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rocketmq在单节点情况下新增从节点

Rocketmq在单节点情况下新增从节点 在docker-compose部署rocketmq单节点的基础上,新增一个从节点 一,修改docker-compose配置文件 原docker-compose文件 version: 3.5 services:rmqnamesrv:image: foxiswho/rocketmq:server-4.5.2container_name: rm…

选择诊所管理系统的原则是什么?

如今,诊所管理系统已成为医疗机构提升管理效率、优化患者服务的重要工具。然而,市场上的诊所管理系统琳琅满目,功能各异,因此,如何选择一款适合自己诊所的管理系统,是许多诊所管理者需要思考的问题。下面&a…

进程调度的基本过程

文章目录 CPU执行指令过程进程PCB“分时复用” ☁️结语 CPU执行指令过程 一个CPU能执行那些指令,可以认为是cpu最初设计的时候就已经写死了。有一个“表格”描述了都有哪些指令。 以上的表格只是一个简化版本,真实的cpu指令表要复杂很多。此处假设每个…

薄冰英语语法学习--名词2-格

名词后面 s,代表后面这个东西属于前面的。 比如toms book,汤姆的书。 末尾是s,那么直接在最后加就行了。比如boys,男孩们的 表示几个词共同 的所有关系在最后一个词的词尾加 sMary and Toms books 玛丽和汤姆共有的书表示几个词…

深入探讨C++的高级反射机制

反射是一种编程语言能力,允许程序在运行时查询和操纵对象的类型信息。它广泛应用于对象序列化、远程过程调用、测试框架、和依赖注入等场景。 由于C语言本身的反射能力比较弱,因此C生态种出现了许多有趣的反射库和实现思路。我们在本文一起探讨其中的奥秘…

DOM遍历

DOM 遍历是指在 HTML 文档中导航和定位元素的过程。通过 DOM 遍历,您可以在文档中移动并查找特定的元素,以便对其进行操作或者检索信息。 寻找子元素 //DOM遍历 const h1 document.querySelector(h1);//寻找子元素 console.log(h1.querySelectorAll(.…

从入门到精通:使用Python的Watchdog库监控文件系统的全面指南

从入门到精通:使用Python的Watchdog库监控文件系统的全面指南 引言Watchdog库概述核心组件工作原理 快速开始:设置Watchdog安装Watchdog创建一个简单的监控脚本设置和启动Observer 事件处理:如何响应文件系统的变化基本事件处理处理复杂的场景…

论文生成新纪元:探索顶尖AI写作工具的高效秘诀

在学术探索的征途中,AI论文工具本应是助力前行的风帆,而非让人陷入困境的漩涡。我完全理解大家在面对论文压力的同时,遭遇不靠谱AI工具的沮丧与无奈。毕竟,时间可以被浪费,但金钱和信任却不可轻弃。 作为一名资深的AI…

Java使用Graphics2D画图,画圆,矩形,透明度等实现

背景 如上图,需要使用Java生成一个图片, 并以base64编码的形式返回给前端展示。 使用Graphics2D类,来进行画图,其中需要画方框、原型、插入图标、写入文字等,同时需要设置透明度等细节点 环境:Jdk17&#…

Java面试八股之JVM内存泄漏按照发生的方式可以分为哪几类

JVM内存泄漏按照发生的方式可以分为哪几类 常发性内存泄漏(Frequent Memory Leak) 这类内存泄漏发生的代码会被频繁执行,每次执行时都会导致一块或多块内存无法被回收。由于泄漏行为重复发生,故称为常发性。这类泄漏通常比较容易…

下一代广域网技术2:SRv6

2.SRv6 SR架构设计之初,就为SR数据平面设计了两种实现方式:一种是SR-MPLS,其重用了MPLS数据平面,可以在现有IP/MPLS网络上增量部署;另一种是SRv6,使用IPv6数据平面,基于IPv6路由扩展头进行扩展…

Docker部署常见应用之Oracle数据库

文章目录 安装部署参考文章 安装部署 使用Docker安装Oracle数据库是一个相对简便的过程,可以避免在本地环境中直接安装Oracle数据库的复杂性。 安装Docker环境:确保你的系统上已经安装了Docker,并且Docker服务正在运行。具体的安装方法可以根…

使用North自部署图床服务

图床 图床可以把图片转为链接,从而方便我们书写、分享博客,目前图床主要分为以下几类: 利用 Git 仓库存储对象存储(OSS、COS、七牛云等)免费公共图床(SM.MS、聚合图床、ImgTP、Postimage等) 但上述图床都…

多项式回归(Linear Regression)原理详解及Python代码示例

多项式回归原理详解 多项式回归(Polynomial Regression)是线性回归(Linear Regression)的一种扩展形式。它通过在输入变量上添加高次项来拟合非线性关系。虽然多项式回归本质上还是线性模型,但它允许模型在输入特征的多…

if action和Switch之间该怎么选择?

1. Switch 2. If及If Action Subsystem 3.结论 元素很多,用switch 元素少,用if或switch 如果...很多,用if

职业技能大赛引领下大数据专业实训教学的改革研究

随着信息化时代的加速发展,大数据专业作为新兴的热门领域,正日益成为高等职业教育体系中不可或缺的一部分,其承担着为社会培养大批具有高素质应用技能的大数据技术人才的重任。职业技能大赛作为检验和提升学生技能水平的有效平台,…

web学习笔记(六十九)vue2

1. vue2创建脚手架项目 (1)在cmd窗口输入npm install -g vue/cli命令行,快速搭建脚手架。 (2) 创建vue2项目 (3) 选择配置项目,最下面的选项是自己重新配置,第一次创建v…

使用nvm管理node版本及pnpm安装

文章目录 GithubWindows 环境Mac/Linux 使用脚本进行安装或更新Mac/Linux 环境变量nvm 常用命令npm 常用命令npm 安装 pnpmNode 历史版本 Github https://github.com/nvm-sh/nvm Windows 环境 https://nvm.uihtm.com/nvm.html Mac/Linux 使用脚本进行安装或更新 curl -o- …

VTable导出当前页和导出所有页数据

表格导出的是当前显示的表格&#xff0c;如果是分页表格想导出全部的数据话。有两种方法可以实现 表格先显示的全量数据&#xff0c;导出后再恢复当前页。新建一个隐藏的表格实例显示全量数据导出这个隐藏的表格实例。 下面是全量代码&#xff1a; <template><div&…

快速创建条形热力图

Excel中的条件格式可以有效的凸显数据特征&#xff0c;如下图中B列所示。 现在需要使用图表展现热力条形图&#xff0c;如下图所示。由于颜色有多个过渡色&#xff0c;因此手工逐个设置数据条的颜色&#xff0c;基本上是不可能完成的任务&#xff0c;使用VBA代码可以快速创建这…