修改MySQL 5的innodb_data_file_path值是否安全?

我最近经历了my.cnf的这个参数的值从以下经历的数据损坏:

 innodb_data_file_path = ibdata1:10M:autoextend:max:128M 

至 :

 innodb_data_file_path = ibdata1:10M:autoextend:max:256M 

我不完全确定,这是因为以前数据库空间不足的原因。 我的问题是,一旦空间已满,修改DB的最大大小是否安全?

如果你想确定,你应该以下几点:

首先,将/etc/my.cnf中的innodb_data_file_path更改为

 [mysqld] innodb_data_file_path = ibdata1:10M:autoextend 

该,运行以下

 cd service mysql restart --skip-networking --skip-grant-tables mysqldump --single-transaction --routines --triggers --all-databases > MySQLData.sql service mysql stop 

确保/root/MySQLData.sql存在。 然后,继续

 rm /var/lib/mysql/ibdata1 rm /var/lib/mysql/ib_logfile0 rm /var/lib/mysql/ib_logfile1 service mysql start --skip-networking --skip-grant-tables mysql < MySQLData.sql service mysql restart 

试一试 !!!

实际上,我在使用MySQL作为存储库的工作中进行了监视,并将最大数从1TB改为16TB。 在收集数据的过程中,没有任何东西可以写入,但没有引入腐败。 你可以改变号码。

我会完全删除最大值,正如我所提到的

 innodb_data_file_path = ibdata1:10M:autoextend 

有两个原因:

  1. 这个变化很小
  2. ibdata1将始终写入,因为其中的撤消表空间必须写入。 这将导致ibdata1的偶然增长。 你可能会再次遇到这个问题。 所以,最好删除最大的选项。