java.sql.SQLException: The table 'label_result' is full

来源:互联网 发布:上海游奇网络老板是谁 编辑:程序博客网 时间:2024/06/05 18:50

昨天系统插入一条数据,突然不能使用. 于是看日志反馈.

内存表的大小超过了规定的范围 : 使用的数据库是mysql.


于是进行如下解决:

 1. 找到对应数据库: 测试sql语句直接插入,修改 也报错. 确实这是数据库原因

 2. 找到linux 服务器. 输入 df -h 查看服务器磁盘空间. 发现used 为 100%.  删除部分数据后, 系统可正常使用


后来找了其他一些解决方式:

 1.扩展数据库表的大小: 

    tmp_table_size = 256M
    max_heap_table_size = 256M

    windows: mysql 找到my.ini 下[mysqld]   添加如上代码

    linux: vim /etc/my.cnf 下[mysqld] 添加如上代码

    或者: 进入到myslq 中,执行命令

   [root@localhost etc]# vi /etc/rc.d/init.d/mysql
   找到
   $bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file >/dev/null 2>&1 &
   修改为
   $bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file -O tmp_table_size=64M -O max_heap_table_size=32M >/dev/null 2>&1 &

   然后重启 mysql

   [root@localhost etc]# /usr/bin/mysqladmin -u root -p shutdown
   Enter password:
   [root@localhost etc]# /etc/init.d/mysql start
   [root@localhost etc]# mysql

 2.查看在配置文件中,查看保存数据的位置: datadir 所在磁盘是否满了.



阅读全文
0 0