Как установить глобальную переменную my2QL innodb_buffer_pool_size
? Когда я устанавливаю его на system display
, я получаю эту ошибку:
ERROR 1238 (HY000): Variable 'innodb_buffer_pool_size' is a read only variable
Как установить глобальную переменную my2QL innodb_buffer_pool_size
? Когда я устанавливаю его на system display
, я получаю эту ошибку:
ERROR 1238 (HY000): Variable 'innodb_buffer_pool_size' is a read only variable
В более ранних версиях MySQL (< 5.7.5) единственный способ установить
'innodb_buffer_pool_size'
была записана в my.cnf(для linux) и my.ini(для Windows) в разделе [mysqld]:
[mysqld]
innodb_buffer_pool_size = 2147483648
Вам необходимо перезапустить сервер mysql, чтобы он работал в действии.
В соответствии с MySQL 5.7.5 параметр конфигурации innodb_buffer_pool_size может быть задано динамически с помощью инструкции SET, позволяющей изменять размер пул буферов без перезапуска сервера. Например:
mysql> SET GLOBAL innodb_buffer_pool_size=402653184;
Ссылка: http://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-online-resize.html
innodb_buffer_pool_size
Вы должны установить это значение переменной в разделе [mysqld] как:
innodb_buffer_pool_size=2G
и перезапустите службу MySQL, чтобы иметь эффект.
Пул буферов InnoDB кэширует как страницы данных, так и индексы. Вы можете установить это значение на 70-80% доступной памяти для установок Innodb только
Посмотрите файл innodb_buffer_pool_size
В нем говорится, что эту переменную можно установить в файле-опции (my.cnf) или в командной строке при запуске сервера.
Кроме того. Я не думаю, что вы сможете присвоить значение "системный дисплей" этой переменной, поскольку она является числовой. См. Документы.
Я столкнулся с той же проблемой:
ОШИБКА 1238 (HY000): переменная 'innodb_buffer_pool_size' является переменной только для чтения
Тогда я заметил, что неправильно написал [mysqly]
наверху, и почему my.cnf работал неправильно. Я меняю его на [mysqld]
и перезагружаю MySQL, тогда все работает отлично.