Взято с сайта с документацией
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 - это сэкономит
время в будущем (если, конечно, у Вас нету нескольких тысяч таблиц - тогда может замедлить
сервер).
Комментариев нет:
Отправить комментарий