(三)MariaDB插件(Plugin)简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(三)MariaDB插件(Plugin)简介相关的知识,希望对你有一定的参考价值。

参考技术A

注:既然已经使用 DBeaver 了,后续许多 MariaDB 的指令,就直接在 dbeaver 的 sql script 里面写(工具栏“SQL 编辑器”->“新建 SQL 编辑器”),如果习惯使用终端窗口,在终端连接 MariaDB 之后,在其 MariaDB 命令窗口输入一样的。

MariaDB 的插件是:

说起来:

官网介绍有 3 种方式,使用其一即可。简单归结为

INSTALL PLUGIN 语法:

安装后,查询 Plugin 对应的模块名称,语法 show plugins soname

< plugin_name>就是 Name 字段了,’<plugin_library style="box-sizing: border-box;">就是 library 字段了。</plugin_library>

示例,安装一个名为 BLACKHOLE 的插件

执行安装语句:

新安装的插件,会显示在 mysql.glugin 表里面。所以查看此表,可以看到新安装的插件。也可用于查看是否安装成功:

同样,卸载组件也类似三种方式,任选其一即可:

例如,卸载刚刚安装的 BLACKHOLE:

再查询 select * from mysql.plugin; 就没有 BLACKHOLE 了。

MariaDB的"response time"插件

“响应时间”是衡量数据库性能的常用指标。在MariaDB中可以使用插件“QUERY_RESPONSE_TIME”来获取查询时间区间的统计信息。 

// 安装插  

 

$ cd ${mysql_base}/lib/plugin
$ ll
-rw-r--r--. 1 root root 403898 Feb 25 01:15 query_response_time.so

 MariaDB [(none)]> install plugin query_response_time_audit soname ‘query_response_time.so‘;

MariaDB [(none)]> install plugin query_response_time soname ‘query_response_time.so‘;

MariaDB [(none)]> show plugins;

... | QUERY_RESPONSE_TIME_AUDIT | ACTIVE | AUDIT | query_response_time.so | GPL |

| QUERY_RESPONSE_TIME | ACTIVE | INFORMATION SCHEMA | query_response_time.so | GPL |

+-------------------------------+----------+--------------------+------------------------+---------+

 

// 参数说明

MariaDB [(none)]> show variables like ‘query_response%‘;
+--------------------------------+-------+
| Variable_name | Value |
+--------------------------------+-------+
| query_response_time_flush | OFF |
| query_response_time_range_base | 10 |
| query_response_time_stats | OFF |
+--------------------------------+-------+
3 rows in set (0.00 sec)

query_response_time_flush

Description: Updating this variable flushes the statistics and re-reads query_response_time_range_base. 
Commandline: None 
Scope: Global 
Dynamic: Yes 
Data Type: boolean 
Default Value: OFF 

query_response_time_range_base 
Description: Select base of log for QUERY_RESPONSE_TIME ranges. WARNING: variable change takes affect only after flush. 
Commandline: --query-response-time-range-base=# 
Scope: Global 
Dynamic: Yes 
Data Type: numeric 
Default Value: 10 
Range: 2 to 1000 

if the range base=10, we have the following intervals: 
(0; 10 ^ -6], (10 ^ -6; 10 ^ -5], (10 ^ -5; 10 ^ -4], ...,  
  (10 ^ -1; 10 ^1], (10^1; 10^2]...(10^7; positive infinity] 

query_response_time_stats 
Description: Enable or disable query response time statistics collecting 
Commandline: query-response-time-stats[={0|1}] 
Scope: Global 
Dynamic: Yes 
Data Type: boolean 
Default Value: OFF 

// 打开统计 

MariaDB [(none)]> set global query_response_time_stats = 1;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> set global query_response_time_flush=‘ON‘;
Query OK, 0 rows affected (0.00 sec)

MariaDB [information_schema]> select * from information_schema.QUERY_RESPONSE_TIME;
+----------------+-------+----------------+
| TIME | COUNT | TOTAL |
+----------------+-------+----------------+
| 0.000001 | 0 | 0.000000 |
| 0.000010 | 0 | 0.000000 |
| 0.000100 | 70 | 0.002200 |
| 0.001000 | 16 | 0.005615 |
| 0.010000 | 0 | 0.000000 |
| 0.100000 | 0 | 0.000000 |
| 1.000000 | 0 | 0.000000 |
| 10.000000 | 0 | 0.000000 |
| 100.000000 | 0 | 0.000000 |
| 1000.000000 | 0 | 0.000000 |
| 10000.000000 | 0 | 0.000000 |
| 100000.000000 | 0 | 0.000000 |
| 1000000.000000 | 0 | 0.000000 |
| TOO LONG | 0 | TOO LONG |
+----------------+-------+----------------+
14 rows in set (0.00 sec)

// 分析 
从上面的记录可知: 
有70个查询的执行时间在0.000010秒<query execution time < =0.000100秒这个区间里;耗时总计0.002200秒。 
有16个查询的执行时间在0.000100秒<query execution time < =0.001000秒这个区间里;耗时总计0.005615秒。 

以上是关于(三)MariaDB插件(Plugin)简介的主要内容,如果未能解决你的问题,请参考以下文章

无法加载插件缓存_sha2_password:/mariadb19/plugin/caching_sha2_password.so:无法打开共享对象文件

maridb安装审计audit插件

MariaDB的"response time"插件

MariaDB的"response time"插件

Storm 系列—— Storm 项目三种打包方式对比分析

MySQLMySQL审计操作记录