Страница 1 из 2

Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 14:54
Oleg123
Решил протестировать базу с размером страницы 64k и не могу найти как это выставить, пишет:
#1238 - Variable 'innodb_page_size' is a read only variable .
Это при установке MySQL выставлять надо? Пришлите пример, пожалуйста, как это сделать.

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 16:42
Максим
Нет, вам сообщается что это значение невозможно изменить, оно доступно только для чтения.

Эта переменная доступна только для чтения когда innodb уже работает, так как параметр должен быть установлен до запуска InnoDB и он создаёт новую систему табличного пространства. Это происходит, когда InnoDB не находит ibdata1 в каталоге данных. Если вы начнёте запуск сервера с измененным размером страницы, отличным от стандартного 16k, то журнал ошибок будет содержать что-то подобное:
111214 15:55:05 InnoDB: innodb-page-size has been changed from the default value 16384 to 4096.
Если ваша система табличного уже существует с одним размером, а InnoDB размер страницы изменился, то сервер не запустится. Вам будет выдано сообщение типа этого:
111214 16:06:51 InnoDB: Error: data file .\ibdata1 uses page size 4096,
111214 16:06:51 InnoDB: but the start-up parameter is innodb-page-size=16384

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 18:24
Oleg123
Прошу прощения, может я не правильно написал, но мне нужно, чтобы innodb работал со страницами 64k, базу я могу потом, с нуля, заполнить данными. Какими путями, переустановкой или по другому сделать страницы 64k — не важно, главное, чтобы страницы были 64k

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 18:32
Максим
А что не понятно из ответа? Ясно же написано - хотите делайте, но все файлы данных придётся удалить. Т.е. делайте дампы, потом восстанавливайте, если нужно базы сохранить. А так - установили значение в конфиге, удалили файлы данных, запустили сервер и далее уже работайте или базы восстанавливайте из дампов.

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 18:43
Oleg123
так я не могу установить выдаёт ошибку, ту что писал выше. Я через Пхпмайадмин работаю. Что сделать, удалить базу всю, и в консоли что-то прописать, а что писать, я не знаю, да и то тогда Пхпмайадмин перестанет работать, я под опенсервером сижу, а там в конфигах такой переменной нет. Что делать?

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 18:47
Максим
Причём тут phpmyadmin и консоль? В конфиге mysql прописывайте, после остановки сервера когда уже сделали все дампы и удалили файлы данных ibdata* в хранилище данных модуля. Потом как сохранили изменения в файле конфига запускайте сервер.

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 19:11
Oleg123
Где этот файл? В my.ini нет такой переменной, да и то в начале пишется что его редактировать бессмысленно

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 19:21
Максим
Oleg123 писал(а):Где этот файл?
Изучите меню программы
Oleg123 писал(а):В my.ini нет такой переменной
Если где-то чего-то нет, что вам мешает это туда дописать? Совесть? Страхи? Религия?

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 19:44
Oleg123
ok, дописал в конфигурации опенсервера innodb_page_size = 65536, удалил ibdata1 — не запускается, удалил всё из C:\OpenServer\userdata\MySQL-5.7-x64 — не запускается. Что делать?

Re: Как сделать innodb_page_size=64k ?

Добавлено: 13 июл 2016, 19:51
Максим
Файлы ib_logfile* еще нужно было удалить. Ну а т.к. вы теперь удалили всё, то уже и не запустится в связи с отсутствием системных таблиц. Распакуйте дистрибутив Open Server в новую папку и возьмите удалённые файлы и папки оттуда и восстановите.
Oleg123 писал(а):ok, дописал в конфигурации опенсервера innodb_page_size = 65536
Это нужно прописать в файле конфигурации MySQL модуля, а не Open Server. В секции [mysqld].