广告
返回顶部
首页 > 资讯 > 数据库 >DBA中如何升级InnoDB Plugin
  • 199
分享到

DBA中如何升级InnoDB Plugin

2024-04-02 19:04:59 199人浏览 八月长安
摘要

DBA中如何升级InnoDB Plugin,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们将向

DBA中如何升级InnoDB Plugin,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

我们将向读者详细介绍如何升级动态InnoDB Plugin和升级静态编译的InnoDB Plugin,以及如何转换由1.0.2以前版本创建的压缩表。  

一、概述
   得益于Mysql插件式存储引擎体系结构,InnoDB Plugin的升级变得非常简单,只需关闭mysql,替换与平台有关的可执行文件,然后重启服务器即可。如果您希望升级并使用现有的数据库,那么必须关 闭Mysql,否则的话,新的插件在合并缓存的插入数据或者清空已删记录的时候就会出错。如果您的数据库中没有任何压缩表,在慢关机后,使用最新的 InnoDB Plugin处理起数据库来就不会遇到问题了。
  然而,如果您的数据库中含有压缩表的话,则不适合使用InnoDB Plugin 1.0.8。因为1.0.2版本的InnoDB Plugin引入了一个不兼容的特性,所以一些压缩表可能需要重建,具体转换步骤见后文。
  当然,我们可以使用mysqldump或其他的方法来重建我们的数据库。如果我们的数据库较小,或者各个表之间存在许多引用约束的话,那么这是一种较好的方法。
  需要注意的是,如果使用InnoDB Plugin 1.0.8访问您的数据库的话,就不要再试图用1.0.2之前的插件来访问它们了。
二、升级动态InnoDB Plugin
  在关闭包含InnoDB Plugin的MySQL服务器之前,我们必须启用慢关闭功能,设置如下所示:

双击代码全选
1SET GLOBAL innodb_fast_shutdown=0;

  在MySQL服务器在其中寻找插件的目录内,将旧InnoDB Plugin (ha_innodb_plugin.so或ha_innodb_plugin.dll)的可执行文件重新命名,以便在需要的时候可以恢复它们。过后,我 们也可以删除这些文件。插件所在的目录是由系统变量plugin_dir指定的。默认的位置通常是在basedir指定的目录的lib/plugin子目 录中。
  首先,我们需要根据自己的服务器平台、操作系统和MySQL版本来下载合适的程序包。然后利用相应的工具进行解压缩,在 linux和Unix系统下通常使用tar,在windows系统中通常使用WinZip等工具软件。将文件ha_innodb_plugin.so或 ha_innodb_plugin.dll复制至MySQL服务器在其中寻找插件的目录下。
  启动MySQL服务器。如果需要的话,可以按照后文介绍的方法来转换压缩表。
三、升级静态编译的InnoDB Plugin
   就像动态安装InnoDB Plugin一样,我们需要慢关闭MySQL服务器。如果您的MySQL是从源代码编译过来并用源代码树中的InnoDB Plugin替换了MySQL内建的InnoDB的话,那么实际上您就会得到一个特殊版本的包含InnoDB Plugin的mysqld可执行文件。
  如果您想升级到一个动态链接的InnoDB Plugin,则需要先卸载静态编译的InnoDB Plugin,然后再安装作为共享库发行的预编译InnoDB Plugin。
  如果您想从一个静态编译的InnoDB Plugin版本升级到另一个静态编译的InnoDB Plugin版本的话,则必须先重新构建一个mysqld可执行文件,关闭服务器,然后替换mysqld可执行文件,再启动服务器。
  不管怎样,如果数据库含有压缩表的话,务必按照后文介绍的方法转换压缩表。
四、转换由1.0.2以前版本创建的压缩表
  InnoDB Plugin的1.0.2版本引入了一个不兼容的压缩表格式。这意味着,InnoDB Plugin早期版本创建的一些压缩表,必须使用更大的KEY_BLOCK_SIZE重新构建之后才能够继续使用。
   升级到InnoDB Plugin 1.0.2或更高版本的时候,如果必须保持现有的数据库的话,则需要慢关闭正在运行早先版本InnoDB Plugin的MySQL。之后,确定出哪些压缩表需要转换,继而使用新版本的InnoDB Plugin升级这些表。具体操作如下所示。
下面介绍如何处理由1.0.0版本或1.0.1版本的InnoDB Plugin所创建的压缩表。由于新版本中引入了一个不兼容的特性,所以新InnoDB Plugin从压缩表清除已删记录或者合并缓冲的插入记录时,会遇到问题。然而,也不是所有的压缩表都需要重新构建。这里我们将为读者介绍如何识别和处理 这些需要重建的压缩表。
  如果现有的数据库包含有之前版本InnoDB Plugin所创建的表的话,必须使用慢关闭使用旧的InnoDB Plugin的MySQL服务器。即,在关闭InnoDB Plugin旧实例之前,需要设置SET GLOBAL innodb_fast_shutdown=0。
  在启动升级了InnoDB Plugin的MySQL服务器之后,必须检查压缩表是否已经转换。首先,启用InnoDB的strict模式进行更为细致的错误检查:SET SESSioN innodb_strict_mode = 1。然后,为每一个压缩表生成一个对应的新表。我们可以通过以下步骤完成:
  1. 列出压缩表:

双击代码全选

1  

5

SELECT table_schema, 

table_name      

FROM infORMation_schema.tables      

WHERE engine=’innodb’ A

ND row_format=’COMPRESSED’

  2. 对于每个表,显示其表的定义:SHOW CREATE TABLE table_schema.table_nameG
  3. 使用不同的表名执行CREATE TABLE语句。
  4. 如果表创建成功,删除新建的表,继续处理下一个压缩表。
  5. 如果表创建失败,则尝试用更大的KEY_BLOCK_SIZE,直到成功为止。然后删除新创的表,使用刚才成功执行CREATE TABLE的KEY_BLOCK_SIZE对原始表执行ALTER TABLE。
   如果某些特殊的表不允许增加KEY_BLOCK_SIZE,则可以用较短的列索引长度来重建表。这是因为用于索引的列前缀会占用B树结点中的大量空间。 较短的前缀减少了索引的精选,但是索引记录会更短,以便它们适于页面大小。较短的前缀还意味着更多的索引项适于B树结点,从而提高了效率。
  如果各个表之间存在引用约束的话,上述过程将会更加复杂,所以更好的选择是联合使用旧的InnoDB Plugin和mysqldump,然后用InnoDB Plugin 1.0.2把数据载入新的数据库中。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网数据库频道,感谢您对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: DBA中如何升级InnoDB Plugin

本文链接: https://www.lsjlt.com/news/68494.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • DBA中如何升级InnoDB Plugin
    DBA中如何升级InnoDB Plugin,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们将向...
    99+
    2022-10-19
  • mysql中如何处理Plugin 'InnoDB' registration as a STORAGE ENGINE failed错误
    这篇文章主要为大家展示了“mysql中如何处理Plugin 'InnoDB' registration as a STORAGE ENGINE failed错误”,内容简而易懂,条理清晰,希...
    99+
    2022-10-18
  • linux中如何升级make
    linux中升级make的方法:1.下载最新的make源码;2.将make源码解压;3.打开终端;4.执行“./configuration”和“. build.sh”命令;5.再输入命令删除已安装的make;6.再输入命令安装新的make;...
    99+
    2022-10-15
  • 如何升级MySQL
    这篇文章主要为大家展示了“如何升级MySQL”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何升级MySQL”这篇文章吧。MySQL升级的概述MySQL升级的实...
    99+
    2022-10-18
  • MySQL如何升级
    这篇文章给大家分享的是有关MySQL如何升级的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 MySQL5.7新增了不少新功能,比如:Online DDL、多源复制、增强半同步...
    99+
    2022-10-18
  • 如何升级Ubuntu
    这篇文章主要为大家展示了“如何升级Ubuntu”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何升级Ubuntu”这篇文章吧。zzupdate 是一个开源的命令行程序,通过将几个更新命令组合到一...
    99+
    2023-06-16
  • 如何升级win10?
      很多小伙伴都想把自己电脑的win10系统升级到最新版本,但是还有很多小伙伴不知道如何升级win10,今天小编就给大家带来升级win10详细教程,下面就跟着小编一步步来看看小编是如何操作的。  如何升级win10  1.按下win键,点击...
    99+
    2023-07-10
  • 如何升级ceph
    这篇文章主要介绍如何升级ceph,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!升级ceph29号ceph放出了0.87 giant版本,我们第一时间进行了升级。升级过程非常简单,只需修改一处ceph.repo,然后y...
    99+
    2023-06-27
  • win101909如何升级
    这篇文章主要介绍“win101909如何升级”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win101909如何升级”文章能帮助大家解决问题。一、备份系统 在更新win101909系统之前可以先备份...
    99+
    2023-07-01
  • win102004如何升级
    本篇内容主要讲解“win102004如何升级”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win102004如何升级”吧!win102004升级的方法:方法一: 按下“win+i”打开windo...
    99+
    2023-07-01
  • win8如何升级到win10?win8升级win10教程
    更换系统最担心的一件事情就是原有的东西会没有了,win8升级到win10不会出现这样的问题,原先安装的软件依旧还在的,下面是详细的安装教学介绍。 win8如何升级到win10 1、下载WIN10镜像文件,...
    99+
    2022-06-04
    升级到 教程
  • XP用户如何升级win10?XP升级Win10 光
    早在此前,微软就曾宣布正版Windows 7和Windows 8.1用户可免费升级到Windows 10,但仅限Windows 10正式发布后一年内。 而盗版用户虽然也能升级,但升级之后依然是盗版,而且其桌面上会有明显的...
    99+
    2023-06-15
    XP win10 价格 Win10 用户
  • innodb如何实现事务隔离级别
    这篇文章主要介绍了innodb如何实现事务隔离级别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言之前的文章mysql锁机制详解中我们详细...
    99+
    2022-10-18
  • Linux中如何升级python版本
    这篇文章主要介绍了Linux中如何升级python版本的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux中如何升级python版本文章都会有所收获,下面我们一起来看看吧。1、下载python版本  wge...
    99+
    2023-06-28
  • MySQL中如何升级系统表
    这篇文章给大家介绍MySQL中如何升级系统表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在Unix或Unix类系统中,运行mysql_fix_privilege_tables脚本来更...
    99+
    2022-10-18
  • wamp中如何升级phpmyadmin版本
    这篇文章主要介绍了wamp中如何升级phpmyadmin版本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先请到官网下载对应的版本解压到a...
    99+
    2022-10-18
  • CentOS 7中如何升级MySQL 5.7.23
    这篇文章主要为大家展示了“CentOS 7中如何升级MySQL 5.7.23”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CentOS 7中如何升级MySQL ...
    99+
    2022-10-18
  • windows中office2007如何升级到2016
    这篇文章主要介绍“windows中office2007如何升级到2016”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows中office2007如何升级到2016”文章能帮助大家解决问题。...
    99+
    2023-07-02
  • Centos6.5如何升级glibc
    这篇文章主要为大家展示了“Centos6.5如何升级glibc”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Centos6.5如何升级glibc”这篇文章吧。场景需求注意更新系统库存在一定的风险...
    99+
    2023-06-10
  • pycharm pip如何升级
    要升级PyCharm中的pip,您可以按照以下步骤操作:1. 打开PyCharm,点击顶部菜单栏中的“File”(文件)。2. 选择...
    99+
    2023-09-23
    pycharm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作