데이터 베이스 MySQL 튜토리얼 释放mysql ibdata1文件空间

释放mysql ibdata1文件空间

Jun 07, 2016 pm 03:19 PM
mysql 문서 공간 풀어 주다

一、今天做压力测试,导入了大量的数据,发现空间应用的很厉害,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



查看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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 빅데이터 구조 처리 능력 PHP의 빅데이터 구조 처리 능력 May 08, 2024 am 10:24 AM

PHP의 빅데이터 구조 처리 능력

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? Jun 03, 2024 pm 08:11 PM

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까?

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 12:19 PM

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까?

데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까? 데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까? May 05, 2024 am 09:06 AM

데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까?

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? Jun 02, 2024 pm 02:26 PM

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까?

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 Dec 09, 2024 am 11:42 AM

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? Jun 02, 2024 pm 02:13 PM

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까?

PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까? Jun 04, 2024 pm 01:57 PM

PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까?

See all articles