视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
释放mysqlibdata1文件空间
2020-11-09 08:00:04 责编:小采
文档


一、今天做压力测试,导入了大量的数据,发现空间应用的很厉害,ibdata1这个文件占用空间很大,删除了一个大数据库,但是ibdata1的空间没有释放。 二、分析: 在mysql数据库中,如果不指定innodb_file_perl_table参数,单独存在每个表的数据,mysql表空间的

一、今天做压力测试,导入了大量的数据,发现空间应用的很厉害,ibdata1这个文件占用空间很大,删除了一个大数据库,但是ibdata1的空间没有释放。



二、分析:

在mysql数据库中,如果不指定innodb_file_perl_table参数,单独存在每个表的数据,mysql表空间的内容都会放在这里,mysql的ibdata1存放数据和索引等。




三、处理:




备份数据库:

mysqldump -q -uroot -p --add-drop-table --all-databases > /usr/local/mysql/backup/all.sql


关闭msyql

cd /usr/local/mysql/data/

mysqladmin shutdown -uroot -p


删除表空间和redo日志

rm -rvf ibdata1 ib_logfile0 ib_logfile1


删除非mysql自带的数据库

[root@localhost data]# rm -rvf bird

removed `bird/checking.frm'

removed `bird/Customer.frm'

removed `bird/Store_Information.frm'

removed `bird/db.opt'

removed `bird/Sales_Information.frm'

removed `bird/Geography.frm'

removed `bird/savings.frm'

removed directory: `bird'

[root@localhost data]#


在mysql配置文件中添加如下配置:

innodb_file_per_table = 1


重启myql

mysqld_safe --user=mysql &


恢复数据

mysql -uroot -p < ../backup/all.sql



查看ibdata1文件,空间已释放。





四、备注:


建议大家最后在mysql初始化的时候,把该参数就加入到mysql配置文件中。



5.一般情况下(ubuntu下默认安装路径为)

有时候在Linux下使用命令安装完应用程序后,我们需要进行必要的配置,可是却找不到该文件,这里对默认安装路径进行说明(仅作为参考,如下目录部分正确,这里只使用了mysql,apache2欢迎给出最新结果):

----------------------------------我是分割线---------------------------------------

apache:
如果apt-get命令安装
apache配置文件:/etc/apache2/httpd.conf
apache模块路径:/usr/sbin/apachectl
web目录:/var/www/
如果采用源代码安装,一般默认安装在/usr/local/apache2目录下


php:

php的配置文件:/etc/php.ini
如果采用源代码安装,一般默认安装在/usr/local/lib目录下
php配置文件: /usr/local/lib/php.ini
或/usr/local/php/etc/php.ini


mysql:
如果apt-get命令安装,安装路径应在/usr/share/mysql目录下
mysqldump文件位置:/usr/bin/mysqldump
mysql配置文件:
/etc/mysql/my.cnf或/usr/share/mysql/my.cnf
mysql数据目录在/var/lib/mysql目录下



参考:http://hi.baidu.com/green_lizard/item/b71523a7ad207384151073a8

下载本文
显示全文
专题