zoukankan      html  css  js  c++  java
  • mysql the table is full

    【0】最终要的还是查看错误日志定位问题啊

    【1】InnoDB :: 

    【1.1】cannot find a free slot for an undo log

    最近数据库数据量及访问频率比较大的两个表出现了the table xxx is full的问题,导致无法写入数据。

    查看mysql log发现错误:

    InnoDB :: cannot find a free slot for an undo log

    原因分析:由于innodb的任何操作都隱含有一個transaction,而出现问题的表由于数据量大操作频繁导致同時有太多事務,以致出现这样的错误。
    解决办法:增大配置文件里的参数innodb_log_file_size到1G 。

    【1.2】write to file  ./ibdata failed at offset  310 3214654123

      

      由上图可知,有2种可能。

      (1)ibdata已经达到设置上限

      (2)ibdata已经达到OS的文件系统的 大小上限,无法再申请空间扩展。

    【2】the table is full

    有时候项目好好的就报:数据库操作错误,请联系管理员,发现后台报这个

    来说说解决mysql出现"the table is full"的问题:

    mysql出现"the table is full"的问题,一般有两个原因:

    【2.1】MEMORY (HEAP) storage engine

    You are using the MEMORY (HEAP) storage engine; in this case you need to increase the value of the max_heap_table_size system variable. See Section 5.1.3, “Server System Variables”.

    ERROR 1114 (HY000) at line 1720: The table 'XXXX' is full

    于是就修改Mysql的配置文件my.ini,在[mysqld]下添加/修改两行:
    tmp_table_size = 256M
    max_heap_table_size = 256M

    系统默认是16M,修改完后重启mysql

    【2.2】硬盘空间满了,清理硬盘即可

    不要被mysql的安装目录所欺骗, 最好亲自去看看数据存放目录是哪

    在my.ini  搜索 datadir

    看其指向的目录 就是数据存放目录

     使用df -h 查看

    我当时的解决方案是,将数据库的磁盘清理了就好了;

    我觉得还可以创建临时表,设置表的size

  • 相关阅读:
    动态显示隐藏的kindeditor 编辑器,如何获取焦点
    BT修改默认端口
    fa内容重复度检测
    fa后台总是提示 未知的数据格式,以及调试方法大全
    vscode这种界面是怎么回事?我丢你楼某
    腾讯云服务器,安装BT面板
    fastadmin编辑器配置,类比wangeditor
    fastadmin 安装过插件以后,原始插件的文件能不能删除?
    leetcode——65. 有效数字
    leetcode——8. 字符串转换整数 (atoi)
  • 原文地址:https://www.cnblogs.com/gered/p/12557390.html
Copyright © 2011-2022 走看看