如何在MYSQL中删除ibdata1,logfile后导入150GB数据库?

时间:2014-04-09 16:50:58

标签: innodb mysql-5.1

我有150GB的数据库,我的ibdata1文件大小是240GB所以我想缩小ibdata1文件,所以我必须导出数据库然后删除表然后停止mysql,删除ibdata1文件,然后启动= MYSQL再次导入数据库。

如果上述解决方案是正确的,我如何导出和导入如此庞大的数据库,也会在数据库表中创建分区。

我也不确定在此过程中我是否会丢失任何数据。

先谢谢

1 个答案:

答案 0 :(得分:0)

如果使用mysqldump导出它,那么该文件可能包含之前重新创建表所需的CREATE语句,然后是INSERT重新加载它。

建议您在此过程中(重新加载之前)将此内容添加到my.ini:

innodb_file_per_table = 1 

或者......如果磁盘空间甚至做了转储,你的问题是你没有备用的150GB?如果是这样的话,你就会把自己画成一个角落"。

如果您可以使用150GB(或更多)备用空间的另一台计算机,则从该计算机运行mysqldump,写入该计算机。

对于"在DB表中创建了分区&#34 ;;让我们看看细节。 SHOW CREATE TABLE会很有用。