Параметр innodb_flush_log_at_trx_commit позволяет выбрать стратегию сброса данных на диск при работе MySQL. Этот параметр настраивается в файле my.cnf (обычно /etc/mysql/my.cnf).
nano /etc/my.cnf
Существует три варианта
innodb_flush_log_at_trx_commit = 1
Значение «1» означает, что любая завершенная транзакция будет синхронно сбрасывать лог на диск. Это вариант по-умолчанию, он является самым надежным с точки зрения сохранности данных, но самым медленным по скорости работы.
innodb_flush_log_at_trx_commit = 2
Значение «2» делает то же самое, только сбрасывает лог не на диск, а в кеш операционной системы (т.е. не происходит flush после каждой операции). Это значение подойдет в большинстве случаев, т.к. не выполняет дорогой операции записи после каждой транзакции. При этом лог пишется на диск с задержкой в несколько секунд, что весьма безопасно с точки зрения сохранности данных.
innodb_flush_log_at_trx_commit = 0
Значение «0» даст наибольшую производительность. В этом случае буфер будет сбрасываться в лог файл независимо от транзакций. В этом случае риск потери данных возрастает.
После изменения этого параметра, необходимо перезагружать mysql:
service mysql restart
Просмотров: 1404