DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) adding-and-removing

Info Catalog (mysql.info) using-innodb-tables (mysql.info) innodb (mysql.info) innodb-backup
 
 14.2.7 Adding and Removing `InnoDB' Data and Log Files
 ------------------------------------------------------
 
 This section describes what you can do when your `InnoDB' tablespace
 runs out of room or when you want to change the size of the log files.
 
 The easiest way to increase the size of the `InnoDB' tablespace is to
 configure it from the beginning to be auto-extending. Specify the
 `autoextend' attribute for the last data file in the tablespace
 definition. Then `InnoDB' increases the size of that file automatically
 in 8MB increments when it runs out of space. The increment size can be
 changed by setting the value of the `innodb_autoextend_increment'
 system variable, which is measured in MB.
 
 Alternatively, you can increase the size of your tablespace by adding
 another data file. To do this, you have to shut down the MySQL server,
 change the tablespace configuration to add a new data file to the end
 of `innodb_data_file_path', and start the server again.
 
 If your last data file was defined with the keyword `autoextend', the
 procedure for reconfiguring the tablespace must take into account the
 size to which the last data file has grown. Obtain the size of the data
 file, round it down to the closest multiple of 1024 × 1024 bytes (=
 1MB), and specify the rounded size explicitly in
 `innodb_data_file_path'. Then you can add another data file. Remember
 that only the last data file in the `innodb_data_file_path' can be
 specified as auto-extending.
 
 As an example, assume that the tablespace has just one auto-extending
 data file `ibdata1':
 
      innodb_data_home_dir =
      innodb_data_file_path = /ibdata/ibdata1:10M:autoextend
 
 Suppose that this data file, over time, has grown to 988MB. Here is the
 configuration line after modifying the original data file to not be
 auto-extending and adding another auto-extending data file:
 
      innodb_data_home_dir =
      innodb_data_file_path = /ibdata/ibdata1:988M;/disk2/ibdata2:50M:autoextend
 
 When you add a new file to the tablespace configuration, make sure that
 it does not exist. `InnoDB' will create and initialize the file when
 you restart the server.
 
 Currently, you cannot remove a data file from the tablespace. To
 decrease the size of your tablespace, use this procedure:
 
   1. Use `mysqldump' to dump all your `InnoDB' tables.
 
   2. Stop the server.
 
   3. Remove all the existing tablespace files.
 
   4. Configure a new tablespace.
 
   5. Restart the server.
 
   6. Import the dump files.
 
 If you want to change the number or the size of your `InnoDB' log
 files, you have to stop the MySQL server and make sure that it shuts
 down without errors (to ensure that there is no information for
 outstanding transactions in the logs). Then copy the old log files into
 a safe place just in case something went wrong in the shutdown and you
 need them to recover the tablespace. Delete the old log files from the
 log file directory, edit `my.cnf' to change the log file configuration,
 and start the MySQL server again.  `mysqld' sees that no log files
 exist at startup and tells you that it is creating new ones.
 
Info Catalog (mysql.info) using-innodb-tables (mysql.info) innodb (mysql.info) innodb-backup
automatically generated byinfo2html