MAMP Pro MySQL проблема с изменением ядра базы данных на InnoDB и переносом баз данных

У меня работает MAMP Pro на El Capitan. До сих пор все было хорошо, но я столкнулся с проблемой. У меня есть смесь базы данных, некоторые используют MyISAM Engine, а другие используют InnoDB. Я действительно не знаю, как это работает. Я думаю, если некоторые из них InnoDB, Engine по-прежнему MyISAM по умолчанию. Проблема с базами данных, которые у меня есть для Atlassians Confluence и JIRA. В Confluence все хорошо, но оно говорит:

Вы должны увеличить innodb_log_file_size до 256M

Я попытался поиграться с my.cnf, но столкнулся с проблемами. Я восстановил вещи, и это соответствующие разделы из конфига.

[mysqld]
#port       = 9999
socket      = /Applications/MAMP/tmp/mysql/mysql.sock
key_buffer_size = 64M
max_allowed_packet = 512M

# table_cache only works for MySQL 5.5.x
#table_cache = 64

# If you are running MySQL 5.6.x, use table_open_cache.
#table_open_cache = 64

sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 32M

#Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /Applications/MAMP/db/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /Applications/MAMP/db/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 128M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 512M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

Когда я раскомментировал раздел InnoDB, сервер завис и база данных была повреждена.

Просто интересно, как я могу включить InnoDB для MAMP, если это рекомендуется, и одновременно обновить мои существующие базы данных, MyISAM и InnoDB.

Пока я в этом, я мог бы хотеть обновить MAMP до более новой версии MySQL, возможно позже.

1 ответ

Решение

Сколько у вас оперативной памяти?

Держать max_allowed_packet до 2% оперативной памяти.

Поскольку вы используете MyISAM и InnoDB, установите innodb_buffer_pool_size до 1/3 ОЗУ, если только; меньше, если у вас есть крошечная система.

Не меняй innodb_log_file_size без дальнейших инструкций. То есть не устанавливайте его в my.cnf, если он еще не установлен.

MyISAM и InnoDB могут сосуществовать.

Другие вопросы по тегам