У меня есть небольшой vps, всего с 256 МБ оперативной памяти, с максимальным пакетом до 512 МБ. Когда я настраиваю свой vps без innodb, он использует только 130 МБ оперативной памяти, так что для меня это не проблема. Но когда включаю innodb, использование памяти вырастает примерно до 300-400 мб. Можно ли запустить innodb так, чтобы я не превышал 256 МБ? предпочтительно, я не хочу использовать для innodb более 100 МБ. Я уже сталкивался с некоторыми сайтами, на которых говорилось, что я могу ограничить использование памяти, но если я ограничу его только 100 МБ, будет ли БД работать достаточно хорошо? (по сравнению, например, с механизмом хранения MyISAM)
Если 100 МБ - слишком мало памяти для innodb, можете ли вы порекомендовать мне любой другой механизм хранения, поддерживающий транзакции?
Вы должны использовать 75-80% или RAM в качестве максимального размера буферного пула, если сервер предназначен для MySQL
Поместите эти две строки в /etc/my.cnf (my.ini)
[mysqld]
innodb_buffer_pool_size=200M
innodb_log_file_size=50M
Если вы хотите использовать рекомендацию 100 МБ для InnoDB, используйте их вместо
[mysqld]
innodb_buffer_pool_size=100M
innodb_log_file_size=25M
Убедитесь, что вы изменили размер файлов журнала innodb следующим образом:
service mysql stop
rm -f /var/lib/mysql/ib_logfile*
service mysql start
(Edit: исправлена опечатка в команде rm)