日期:2014-05-16  浏览次数:20880 次

【求助】mysql数据库文件太大导致建表失败,如何处理?
目录下各文件大小如下:
root /mbsc/mysql/data # ll
total 120646812
-rw-rw---- 1 mysql root 10805 Jul 19 16:51 OMUPLT_EOMUA_CI_22.err
drwx------ 2 mysql mysql 98304 Jul 19 19:24 123_A
-rw------- 1 root root 0 Jul 19 12:44 err.log
-rw-rw---- 1 mysql mysql 104857600 Jul 19 19:44 ib_logfile0
-rw-rw---- 1 mysql mysql 104857600 Jul 19 19:44 ib_logfile1
-rw-rw---- 1 mysql mysql 1048576000 Jul 19 19:44 ibdata1
-rw-rw---- 1 mysql mysql 122163245056 Jul 19 19:44 ibdata2
-rw-rw---- 1 mysql mysql 5 Jul 19 03:52 mbsc_mysql.pid
-rw-r--r-- 1 mysql mysql 4816 Sep 21 2011 my.cnf
drwxr-xr-x 2 mysql mysql 4096 Jul 19 19:44 mysql
drwxr-xr-x 2 mysql mysql 4096 Nov 22 2011 test

现在在数据库下创建表如下:
CREATE TABLE `tbl_neinfo`
(
  `id` int NOT NULL,
  `ne_type` int NOT NULL,
  `ip` varchar(100) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin;

提示错误信息如下:
ERROR 3 (HY000): Error writing file './123_A/tbl_info.frm' (Errcode: 28)

在网上差了这个错误码,有人说是数据文件过大导致的,但是现在的问题是我删除了数据库中的一些表,单数据文件大小没有变化,这个应该是啥原因?




------解决方案--------------------
drwx------ 2 mysql mysql 98304 Jul 19 19:24 123_A

把这个目录的权限改为 777

------解决方案--------------------
[root@localhost ~]# perror 28
OS error code 28: No space left on device


你现在打开的这个目录应该不是你写数据的目录

df -h看下哪个目录满了
------解决方案--------------------
不是表达原因是没有权限所导致的。
赋予读写执行的权限就可以了。
在linux或unix下777
------解决方案--------------------
如果你是说导入的sql脚本太大,使用db工具导入失败的话,你可以使用mysql dump 导入!通过命令行导入!