mysql ibdata1文件存放数据,索引等。
如果不把数据库中数据分开存放的话,这个文件的大小很容易就上了G,甚至几十G。对于某些应用、磁盘较小的server来说,并不是太合适。因此要把此文件缩小。
方法:数据文件单独存放。
详见:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#backup
步骤:
1,备份数据库
从命令行进入MySQL Server 5.5/bin
备份全部数据库,执行命令mysqldump -q -uusername -pyourpassword --add-drop-table --all-databases > /all.sql
做完此步后,停止数据库服务。
2,修改mysql配置文件
修改my.ini文件,增加下面配置
iinnodb_file_per_table = 1
对每张表使用单独的innoDB文件, 修改/etc/my.cnf文件
3,删除原数据文件
删除原来的ibdata1文件及日志文件ib_logfile*,删除data目录下的应用数据库文件夹(mysql文件夹不要删)
4,还原数据库
启动数据库服务
从命令行进入MySQL Server 5.5/bin
还原全部数据库,执行命令mysql -uusername -pyourpassword < /all.sql
经过以上几步后,可以看到新的ibdata1文件就只有几十M了,数据及索引都变成了针对单个表的小ibd文件了,它们在相应数据库的文件夹下面。
注:目前还没有找到不导出数据再导入,直接缩小ibdata文件体积的办法。对于ibdata文件有坏道、表空间有损坏的数据库来说,只能跳过损坏的id,dump出数据成sql文件,再导入了。
相关推荐
ibdata1-recover-for-mysql ibdata1 还原数据库 ibdata1 还原表结构
MYSQL数据库碎片恢复工具,已经完工。专门针对MYSQL的ibdata1 引擎 编写,支持MYSQL 3 4 5 6版本,任意平台的IBDATA文件恢复。支持误删除 ,所在分区被格式化,支持黑客故意破坏等情况,自动侦测半页。提取合成。
当MySQL服务尝试启动时,如果`ibdata1`文件损坏,它将无法正常完成初始化过程,从而导致服务立即关闭。从给出的错误日志中,我们可以看到一些关键信息: 1. 错误日志显示MySQL尝试启动并加载InnoDB存储引擎。 2. 在...
然而,这也会导致数据库文件持续增大,即使数据已被删除,占用的磁盘空间仍然没有释放。 为了解决这个问题,一种有效的方法是在创建数据库时启用`innodb_file_per_table`选项。这个参数使得每个InnoDB表拥有独立的...
标题“mysql Unable to lock ./ibdata1, error: 11”所反映的问题是MySQL数据库在运行过程中遇到了一个常见的错误,提示无法锁定数据文件`ibdata1`,错误代码11。这个错误通常与数据库的表空间管理、并发操作或者...
MYSQL数据库碎片恢复工具,已经完工。专门针对MYSQL的ibdata1 引擎 编写,支持MYSQL 3 4 5 6版本,任意平台的IBDATA文件恢复。支持误删除 ,所在分区被格式化,支持黑客故意破坏等情况,自动侦测半页。提取合成
MySQL的InnoDB存储引擎在处理大量数据时,其系统表空间文件`ibdata1`往往会变得非常庞大,占据了大量硬盘空间。本篇文章将全面解析如何对InnoDB进行扩容以及如何瘦身`ibdata1`文件。 ### InnoDB扩容 扩容InnoDB表...
这个问题通常表明MySQL的InnoDB存储引擎无法获取对`ibdata1`文件的锁,`ibdata1`是InnoDB用来存储数据和系统表空间的文件。这个错误可能是由于多种原因导致的,包括但不限于以下几点: 1. **另一个mysqld进程正在...
MySQL 数据库是当前最流行的开源关系数据库管理系统之一,但是在实际使用中,可能会遇到各种问题,例如磁盘空间不足、服务器崩溃、数据库无法启动等问题,这些问题可能会导致数据库无法连接,数据无法导出。...
ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据、撤销记录、修改buffer和双写buffer。如果file-per-table选项打开的话,该文件则不一定包含所有表的数据。当innodb_file_per_table...
MySQL数据库的InnoDB存储引擎使用一个名为`ibdata1`的数据文件来存储表数据和索引,以及系统表空间信息。当这个文件被意外删除时,可能会引发严重的数据丢失问题,尤其是在没有最近备份的情况下。然而,如果MySQL...
- 找到配置MySQL服务器时指定的`InfoDB`目录,并删除其中的`ibdata1`文件。 - 在`my.ini`文件中可以通过以下设置查找该目录: ```ini #***INNODBSpecificoptions*** innodb_data_home_dir="D:/" ``` - `...
`ibdata1` 是 MySQL 使用的 InnoDB 表空间文件,包含了表空间的元数据以及其他关键信息。 **问题分析** - **文件缺失**:日志信息显示 `ibdata1` 文件被误删除或者移动到了其他位置。由于 `ibdata1` 文件对于 ...
centos7安装mysql8以及常规操作 ------------------------------------- [root@...opt]# vi /etc/my.cnf [mysqld] socket=/var/lib/mysql/mysql...innodb_data_file_path=ibdata1:1G;ibdata2:1G;ibdata3:1G:autoextend
- **ibdata1、ibdata2等文件**:系统表空间文件,存储InnoDB系统信息以及所有用户数据库表的数据和索引。这些文件为所有表共享。 - **.ibd文件**:单表表空间文件,每个表使用一个.ibd文件,存储用户数据库表的数据...