среда, 12 октября 2011 г.

MySQL. Параметры запуска InnoDB.

Взято с сайта с документацией

InnoDB is not aware of the file system maximum file size, so be cautious on file systems where the maximum file size is a small value such as 2GB. To specify a maximum size for an auto-extending data file, use the max attribute following the autoextend attribute. The following configuration permits ibdata1 to grow up to a limit of 500MB:
 
[mysqld]
innodb_data_file_path=ibdata1:10M:autoextend:max:500M
 
InnoDB creates tablespace files in the MySQL data directory by default. To specify a location explicitly, use the innodb_data_home_dir option. For example, to use two files named ibdata1 and ibdata2 but create them in the /ibdata directory, configure InnoDB like this:
 
[mysqld]
innodb_data_home_dir = /ibdata
innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend
 
 
 

ibdata1

Этот файл используется движком InnoDB для хранения таблиц, при этом все таблицы хранятся 
в одном файле, что очень неудобно. Для активации разделения баз данных по разным файлам 
используется следующая опция в my.cnf 
(добавлять в блок [mysqld]):
innodb_file_per_table

После этого необходим рестарт СУБД:
/etc/init.d/mysqld restart

Все, теперь все вновь создаваемые InnoDB таблицы будут создаваться в отдельных файлах внутри папок с именами баз данных (с расширением .ibd, причем и индексы и данные лежат вместе).
 
Уменьшить ibdata1 
 
Сделать дамп базы, удалить _все_ файлы InnoDB, запустить сервер и восстановить базу
из дампа. Не забудьте перед запуском сервера поставить innodb_file_per_table - это сэкономит
время в будущем (если, конечно, у Вас нету нескольких тысяч таблиц - тогда может замедлить
сервер). 

Комментариев нет:

Отправить комментарий