mysql plugin

概要

  1. mysql可以通过启动参数,系统命令mysql_install,mysql命令install plugin来加载指定的插件
  2. mysql的存储引擎被设计成插件式,可以根据需要加载不同的存储引擎

使用

  1. 插件的一些查看,加载,卸载的方法,参看https://mariadb.com/kb/en/plugin-overview/

原理

  1. 在插件定义文件,通过maria_declare_plugin(插件名称)来声明指定的插件,该声明会export一些版本定义(int maria_plugin_interface_version),插件结构大小(int _maria_sizeof_struct_st_plugin),插件声明(struct st_maria_plugin maria_plugin_declarations)
  2. 加载插件时,通过plugin_init(启动时)或者plugin_add(处理install plugin命令)方法来加载插件
    1. 先查询指定的插件,在预定的目录内
    2. 找到插件文件后,检查该插件是否启动,如果启用,则通过dlopen动态加载该so文件,然后dlsym查询上述预定义的符号,最终将_maria_plugin_declartions_找到并转换成struct st_maria_plugin,并执行插件的init方法

mysql plugin的更多相关文章

  1. MySQL: Table 'mysql.plugin' doesn't exist的解决

    安装解压版MySQL以后,不能启动,日志里面出现了这个错误: MySQL: Table 'mysql.plugin' doesn't exist 这是因为mysql服务启动时候找不到内置数据库&quo ...

  2. Can't find file: './mysql/plugin.frm' (errno: 13)[mysql数据目录迁移错位]错误解决

    大概需要4个步骤,其中第1步通过service mysql stop停止数据库,第4步通过service mysql start启动数据库. 第2步移动数据文件,不知道是否为Ubuntu智能的原因,移 ...

  3. MySQL plugin结构

    1.背景 MySQL插件安装语法如下: 13.7.3.3 INSTALL PLUGIN Syntax INSTALL PLUGIN plugin_name SONAME 'shared_library ...

  4. Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist

    问题:在linux上安装mysql的时候出现Plugin ‘FEDERATED’ is disabled. /usr/sbin/mysqld: Table ‘mysql.plugin’ doesn’t ...

  5. mysql 错误解决:Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist

    今天安装完Mysql后,开启发生了错误: 1.打开相应文件夹,查看错误信息: 2.打开错误信息文件,查看错误原因是:Plugin 'FEDERATED' is disabled. /usr/sbin/ ...

  6. service mysqld start 报错:service mysqld start 报错 090517 13:34:15 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 090Can't open the mysql.plugin table. Please run mysql

    service mysqld start 报错 090517 13:34:15 [ERROR] Can't open the mysql.plugin table. Please run mysql_ ...

  7. MySQL部署时Table 'mysql.plugin' doesn't exist的解决

    今天部署了免安装版的MySQL,出现了Table 'mysql.plugin' doesn't exist的问题,苦恼了好久,终于在网上找到了解决方案,现整理一下给大家分享: 系统环境:Win10 6 ...

  8. ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

    部署docker下的mysql时出现以下报错 [root@docker ~]# mysql -h192.168.30.22 -uroot -p Enter password: 出现报错: ERROR ...

  9. mysql中mysql数据库丢失报错Can't open the mysql.plugin table

    180720 10:00:54 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 18 ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:formLayout的layoutLabelAlignment 属性

    一.引言 Qt Designer的表单布局(formLayout)中,layoutLabelAlignment 用于控制表单布局中标签的水平对齐方式(包括垂直和水平方向两个方向).如图: 此属性实际对 ...

  2. Gradle上传依赖到私服(nexus)

    子模块配置 buildscript { repositories { mavenLocal() maven { url "http://maven.aliyun.com/nexus/cont ...

  3. Scrum 冲刺 第五篇

    Scrum 冲刺 第五篇 每日会议照片 昨天已完成工作 队员 昨日完成任务 黄梓浩 初步完成app项目架构搭建 黄清山 完成部分个人界面模块数据库的接口 邓富荣 完成后台首页模块数据库的接口 钟俊豪 ...

  4. CSP-S2020初赛游记

    前一星期 感觉没怎么复习初赛啊,经常旷初赛练习赛--整天刷复赛题被老师怒斥了. zhoukangyang 天天做初赛(但是一天还是稳定做 \(2\) 道黑题),是不是要 AK 了啊(慌... 前一天 ...

  5. 题解-CF1140E Palindrome-less Arrays

    CF1140E Palindrome-less Arrays \(n\) 和 \(k\) 和 \(n\) 个数的序列 \(a\).把 \(a\) 中的 \(-1\) 替换成 \([1,k]\) 之间的 ...

  6. MySQL技术内幕InnoDB存储引擎(六)——锁

    什么是数据库的锁? 锁是数据库系统区别于文件系统的一个关键特性.锁机制用于管理对共享资源的并发访问.让数据库事务满足隔离性的要求. InnoDB 中锁的作用 不仅用于对数据进行并发访问,还还包括了缓冲 ...

  7. 深入理解Java虚拟机(一)——JVM内存模型

    文章目录 程序计数器 定义 作用 特点 Java虚拟机栈 定义 特点 本地方法栈 定义 Java堆 定义 特点 方法区 定义 特点 运行常量池 直接内存 总结 Java虚拟机的内存空间分为五个部分: ...

  8. Jmeter(2)基础知识

    一.Jmeter测试计划 1.测试计划用来描述一个性能/接口测试的脚本和场景设计 独立运行每个线程组:用于控制测试计划中的多个线程组的执行顺序.不勾选时,默认各线程组并行.随机执行. 主线程结束后运行 ...

  9. 【ubantu 安装Jmeter和Jdk环境】

    Linux环境安装Java(含安装包下载地址) 一定要使用有权限的用户 1.下载JDK压缩包,下载地址:https://blog.csdn.net/duketyson2009/article/deta ...

  10. Day8 python高级特性-- 迭代 Iteration

    通过for循环来遍历 list.tuple.dict.甚至是字符串,这种遍历被称为迭代. 相比于C的for循环, Python的for循环抽象成都更好,不仅可以用在list或tuple上,还可以用在其 ...