iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么解决MySQL中的ERROR 1799报错问题
  • 149
分享到

怎么解决MySQL中的ERROR 1799报错问题

2024-04-02 19:04:59 149人浏览 安东尼
摘要

这篇文章主要介绍“怎么解决Mysql中的ERROR 1799报错问题”,在日常操作中,相信很多人在怎么解决mysql中的ERROR 1799报错问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方

这篇文章主要介绍“怎么解决Mysql中的ERROR 1799报错问题”,在日常操作中,相信很多人在怎么解决mysql中的ERROR 1799报错问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决Mysql中的ERROR 1799报错问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

【问题描述】:
版本:MySQL 5.6.36 (以上的版本都可能出现)
行为:对某些访问频繁的大表做Online DDL
现象:
ERROR 1799 (HY000): Creating index 'GEN_CLUST_INDEX' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.

比如:

  1. mysql> ALTER TABLE a ENGINE=innodb;

  2. ERROR 1799 (HY000): Creating index 'GEN_CLUST_INDEX' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.


  3. mysql> ALTER TABLE a DROP idx_name;

  4. ERROR 1799 (HY000): Creating index 'idx' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.

只要是DDL相关的,就可能遇到这样的问题,比如在optimize table时:

  1. mysql> OPTIMIZE TABLE a;

  2. +--------+----------+----------+-------------------------------------------------------------------+

  3. | Table  | Op            | Msg_type | Msg_text                                                                                                                   |

  4. +--------+----------+----------+-------------------------------------------------------------------+

  5. | test.a | optimize | note         | Table does not support optimize, doing recreate + analyze instead |

  6. | test.a | optimize | error    | Creating index 'FTS_DOC_ID_INDEX' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again. |

  7. | test.a | optimize | status   | OK                                                                                                                               |

  8. +--------+----------+----------+-------------------------------------------------------------------+

  9. 2 rows in set (18.13 sec)

虽然optimize对innodb表没什么用,但是仍然会抛出该错误

那么查看一下手册,可以得知:
innodb_online_alter_log_max_size控制在用于在Online DDL操作时的一个临时的日志文件的上限值大小。
该临时的日志文件存储了在DDL时间内,dml操作的记录。这个临时的日志文件依照innodb_sort_buffer_size的值做扩展。
如果该日志超过了innodb_online_alter_log_max_size的最大上限,DDL操作则会抛出失败,并且回滚所有未提交的DML操作。
反过来说,该值如果设置更高,则可以允许在做Online DDL时,有更多的DML操作发生。
但因此带来的问题就是,在DDL做完之后,需要更多时间表和应用这些日志。


另外对于某些DDL操作,比如
ADD INDEX/COLUMN,则可以通过调整innodb_sort_buffer_size的大小来加快操作速度。
但是实际上分配的内存为3倍的innodb_sort_buffer_size值。

innodb_online_alter_log_max_size和innodb_sort_buffer_size均为5.6 Online DDL的新参数。

【解决方案】:

知道这个参数控制的是什么东西,就好解决了。
临时调大该值,此处改成了256MB:

  1. mysql> SET GLOBAL innodb_online_alter_log_max_size=256*1024*1024;

  2. Query OK, 0 rows affected (0.03 sec)

该值默认为128MB,还是建议在做完DDL之后再将其改为默认值,也就是134217728。

到此,关于“怎么解决MySQL中的ERROR 1799报错问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么解决MySQL中的ERROR 1799报错问题

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

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

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

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

下载Word文档
猜你喜欢
  • 怎么解决MySQL中的ERROR 1799报错问题
    这篇文章主要介绍“怎么解决MySQL中的ERROR 1799报错问题”,在日常操作中,相信很多人在怎么解决MySQL中的ERROR 1799报错问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2024-04-02
  • 怎么解决MySQL中的ERROR 2002(HY000)报错问题
    本篇内容主要讲解“怎么解决MySQL中的ERROR 2002(HY000)报错问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决MySQL中的ERROR...
    99+
    2024-04-02
  • 怎么解决mysql binlog中报错[ERROR] unknown问题
    这篇文章主要讲解了“怎么解决mysql binlog中报错[ERROR] unknown问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决mysql...
    99+
    2024-04-02
  • 怎么解决mysql中的ERROR 1135 (HY000)报错问题
    这篇文章主要讲解了“怎么解决mysql中的ERROR 1135 (HY000)报错问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决mysql中的E...
    99+
    2024-04-02
  • 怎么解决mysql中的innobackupex: Error: no报错问题
    本篇内容主要讲解“怎么解决mysql中的innobackupex: Error: no报错问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决mysql中...
    99+
    2024-04-02
  • 怎么解决MySQL中ERROR 1044 (42000)报错问题
    这篇文章主要讲解了“怎么解决MySQL中ERROR 1044 (42000)报错问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决MySQL中ERR...
    99+
    2024-04-02
  • 怎么解决MySQL中ERROR 1054 (42S22)报错问题
    这篇文章主要介绍“怎么解决MySQL中ERROR 1054 (42S22)报错问题”,在日常操作中,相信很多人在怎么解决MySQL中ERROR 1054 (42S22)报错问题问题上存在疑惑,小编查阅了各式...
    99+
    2024-04-02
  • 怎么解决MySQL的ERROR 1173 (42000)报错问题
    本篇内容介绍了“怎么解决MySQL的ERROR 1173 (42000)报错问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细...
    99+
    2024-04-02
  • 怎么解决MySQL报Error 1045错误问题
    这篇文章主要讲解了“怎么解决MySQL报Error 1045错误问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决MySQL报Error 1045错...
    99+
    2024-04-02
  • 怎么解决Mysql中的Last_Errno报错问题
    本篇内容主要讲解“怎么解决Mysql中的Last_Errno报错问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决Mysql中的Last_Errno报错...
    99+
    2024-04-02
  • 怎么解决MySQL中的ERROR 1201 (HY000)错误问题
    这篇文章主要介绍“怎么解决MySQL中的ERROR 1201 (HY000)错误问题”,在日常操作中,相信很多人在怎么解决MySQL中的ERROR 1201 (HY000)错误问题问题上存在疑惑,小编查阅了...
    99+
    2024-04-02
  • 怎么解决MySQL中的ERROR 1045 (28000)错误问题
    本篇内容介绍了“怎么解决MySQL中的ERROR 1045 (28000)错误问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔...
    99+
    2024-04-02
  • 怎么解决mysql的报错[ERROR] Native table 'performance_schema'问题
    本篇内容主要讲解“怎么解决mysql的报错[ERROR] Native table 'performance_schema'问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性...
    99+
    2024-04-02
  • 怎么解决Mysql中的Last_SQL_Error: 1594报错问题
    这篇文章主要介绍“怎么解决Mysql中的Last_SQL_Error: 1594报错问题”,在日常操作中,相信很多人在怎么解决Mysql中的Last_SQL_Error: 1594报错问题问题上存在疑惑,小...
    99+
    2024-04-02
  • 怎么解决MySQL中的innobackupex: Error问题
    这篇文章主要讲解了“怎么解决MySQL中的innobackupex: Error问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决MySQL中的in...
    99+
    2024-04-02
  • oracle出现SVR4 Error报错问题怎么解决
    这篇文章主要讲解了“oracle出现SVR4 Error报错问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“oracle出现SVR4 Error报...
    99+
    2024-04-02
  • 怎么解决MYSQL的ERROR 2003问题
    本篇内容主要讲解“怎么解决MYSQL的ERROR 2003问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决MYSQL的ERROR 2003问题”吧!报...
    99+
    2024-04-02
  • 怎么解决数据库报错ERROR 1290问题
    这篇文章主要介绍“怎么解决数据库报错ERROR 1290问题”,在日常操作中,相信很多人在怎么解决数据库报错ERROR 1290问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • ubuntu下怎么安装mysql并解决ERROR 1698 (28000)报错问题
    这篇“ubuntu下怎么安装mysql并解决ERROR 1698 (28000)报错问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来...
    99+
    2023-07-04
  • mysql的Incorrect datetime value报错问题怎么解决
    这篇文章主要介绍“mysql的Incorrect datetime value报错问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql的Incorr...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作