MySql ibdata1文件太大 如何缩小
来源:互联网 发布:网络七层对应的协议 编辑:程序博客网 时间:2024/05/17 08:34
原文链接:http://blog.okbase.net/haobao/archive/1213.html
MySql innodb如果是共享表空间,ibdata1文件越来越大,达到了30多个G,对一些没用的表进行清空:
truncate table xxx;
然后optimize table xxx; 没有效果
因为对共享表空间不起作用。
mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。
如果不把数据分开存放的话,这个文件的大小很容易就上了G,甚至几十G。对于某些应用来说,并不是太合适。因此要把此文件缩小。
无法自动收缩,必须数据导出,删除ibdata1,然后数据导入,比较麻烦,因此需要改为每个表单独的文件。
解决方法:数据文件单独存放(共享表空间如何改为每个表独立的表空间文件)。
步骤如下:
1)备份数据库
从命令行进入MySQL Server 5.0\bin
备份全部数据库,执行命令
D:\>mysqldump -q -umysql -ppassword --add-drop-table --all-databases > c:/all.sql
做完此步后,停止数据库服务。
2)找到my.ini或my.cnf文件
linux下执行 ./mysqld --verbose --help | grep -A 1 'Default options'
会有类似显示:
Default options are read from the following files in the given order:
/etc/my.cnf ~/.my.cnf /usr/local/service/mysql3306/etc/my.cnf
windows环境下可以:
mysqld --verbose --help > mysqlhelp.txt
notepad mysqlhelp.txt
在里面查找Default options,可以看到查找my.ini的顺序,以找到真实目录
3)修改mysql配置文件
打开my.ini或my.cnf文件
[mysqld]下增加下面配置
innodb_file_per_table=1 #关键是将此项配置打开,这样以后每个数据库都有自己的文件存储文件了
验证配置是否生效,可以重启mysql后,执行
show variables like '%per_table%'
看看innodb_file_per_table变量是否为ON
4)删除原数据文件
删除原来的ibdata1文件及日志文件ib_logfile*,删除data目录下的应用数据库文件夹(mysql文件夹不要删)
5)还原数据库
启动数据库服务
从命令行进入MySQL Server 5.0\bin
还原全部数据库,执行命令mysql -uusername -pyourpassword < c:/all.sql
经过以上几步后,可以看到新的ibdata1文件就只有几十M了,数据及索引都变成了针对单个表的小ibd文件了,它们在相应数据库的文件夹下面。
- MySql ibdata1文件太大如何缩小
- MySql ibdata1文件太大如何缩小
- MySql ibdata1文件太大如何缩小
- MySql ibdata1文件太大如何缩小
- MySql ibdata1文件太大 如何缩小
- MySql ibdata1文件太大如何缩小
- MySql ibdata1文件太大如何缩小
- MySql ibdata1文件太大如何缩小
- MySql ibdata1文件太大
- mysql ibdata1文件的缩小
- mysql ibdata1文件的缩小
- ibdata1文件--缩小mysql数据库的ibdata1文件
- 【转帖】缩小mysql数据库的ibdata1文件
- 【转】缩小mysql数据库的ibdata1文件
- 如何压缩mysql ibdata1文件
- 为磁盘释放空间之mysql ibdata1文件的缩小
- 如何收缩Mysql的ibdata1文件
- 如何收缩Mysql的ibdata1文件
- Redis简单介绍
- Logistic Regression & linear classification
- mac下python2和python3的共存
- Learning from data: The VC dimension
- hrbust 哈理工oj 1020 Robot Motion【简单模拟】
- MySql ibdata1文件太大 如何缩小
- 纹理缓存TextureCache-Cocos2dx
- JAVA集合汇总
- iOS 怎样通过UDP发送广播寻找设备,拿到局域网的设备ip 和 端口
- sed学习笔记
- C#中数组、ArrayList和List三者的区别
- jsp 声明类的使用
- 计算机视觉开源代码和数据集
- 这应该是目前最系统的 Android 界面性能调优资料了