mysql ibdata1文件的缩小-开释磁盘空间
Jun 07, 2016 pm 04:14 PMmysql ibdata1文件的缩小-释放磁盘空间 ? mysql ibdata1文件存放数据,索引等。 如果不把数据库中数据分开存放的话,这个文件的大小很容易就上了G,甚至几十G。对于某些应用、磁盘较小的server来说,并不是太合适。因此要把此文件缩
mysql ibdata1文件的缩小-释放磁盘空间?
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
经过以上几步后,可以看到新的ibdata1文件就只有几十M了,数据及索引都变成了针对单个表的小ibd文件了,它们在相应数据库的文件夹下面。
?
注:目前还没有找到不导出数据再导入,直接缩小ibdata文件体积的办法。对于ibdata文件有坏道、表空间有损坏的数据库来说,只能跳过损坏的id,dump出数据成sql文件,再导入了。
?

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Compétences de traitement de structures de données volumineuses de PHP

Comment optimiser les performances des requêtes MySQL en PHP ?

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ?

Comment insérer des données dans une table MySQL en utilisant PHP ?

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ?

Comment créer une table MySQL en utilisant PHP ?
