Подтвердить что ты не робот

Как изменить значение для innodb_buffer_pool_size в MySQL на Mac OS?

Я пытаюсь увеличить размер innodb_buffer_pool_size в MySQL 5.1, так как я продолжаю работать с следующей ошибкой, указывающей, что у меня не хватает места для блокировок таблиц.

ERROR: The total number of locks exceeds the lock table size
Error
Code: 1206

Я просмотрел документацию и из того, что собираюсь, мне нужно обновить innodb_buffer_pool_size в файле /etc/my.cnf. Мое текущее значение - 8M. Однако даже после создания этого файла и добавления следующей строки, чтобы установить значение, которое оно не обновляет в MySQL.

set-variable=innodb_buffer_pool_size=256M

Есть ли какие-либо советы относительно того, как я могу настроить это значение в MySQL на моем mac? Любые другие советы или предложения?

4b9b3361

Ответ 1

добавьте это в свой my.cnf

innodb_buffer_pool_size=1G

перезагрузите mysql, чтобы сделать эффект

Ответ 2

Мне пришлось поместить оператор в блок [mysqld], чтобы он работал. В противном случае изменение не было отражено. У меня есть распределение REL.

Ответ 3

В более ранних версиях 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

Ответ 4

Для стандартных установок OS X MySQL вы найдете my.cnf, расположенный в папке /etc/.

Шаги по обновлению этой переменной:

  • Терминал загрузки.
  • Введите cd /etc/.
  • sudo vi my.cnf.
  • Этот файл должен уже существовать (если не использовать sudo find / -name 'my.cnf' 2>1 - это скроет ошибки и сообщит только о местоположении файла файла успеха).
  • Используя vi (m) найдите строку innodb_buffer_pool_size, нажмите i, чтобы начать вносить изменения.
  • По завершении нажмите esc, shift + colon и введите wq.
  • Прибыль (сделано).

Ответ 5

Как указано,

innodb_buffer_pool_size=50M

Следуя соглашению с другими предопределенными переменными, убедитесь, что нет пробела ни одной из сторон знака равенства.

Затем запустите

sudo service mysqld stop
sudo service mysqld start

Примечание

Иногда, например, на Ubuntu, демона MySQL называется mysql, а не mysqld

Я считаю, что запуск /etc/init.d/mysqld restart не всегда работает, и вы можете получить сообщение об ошибке, например

Stopping mysqld:                                           [FAILED]
Starting mysqld:                                           [  OK  ]

Чтобы узнать, была ли задана переменная, запустите show variables и посмотрите, обновлено ли значение.