Сервер MariaDB-Mysql регистрирует все и некоторые журналы достигают 100gb+ и растут до тех пор, пока логротат не повернет их. Я хочу, чтобы MySQL регистрировал только необходимые вещи, такие как Error, а не Warn или Info (или что-то вроде этого, я не очень хорошо знаю Mysql стратегии протоколирования). Как я могу это сделать?
Если это основной сервер, который реплицирует данные на другие системы, то лог-файлы, конечно, могут очень быстро вырасти. Насколько я знаю, информационные сообщения не могут быть подавлены, но вы можете отключить такие предупреждающие сообщения как:
root
или пользователя с правами администратораSET GLOBAL log_warnings=0;
Если это дает вам именно то, что вы хотите, то вам нужно обновить ваш my.cnf
файл, чтобы добавить log_warnings=0;
где-нибудь так, чтобы настройка оставалась неизменной при перезапусках.
Если вы хотите уменьшить все протоколирование настолько, насколько это возможно, то вы захотите посмотреть, что записывается в различные лог-файлы:
SHOW VARIABLES LIKE '%log%';
Это даст вам что-то, что выглядит так:
+---------------------------------+------------------------------+
| Variable_name | Value |
+---------------------------------+------------------------------+
| back_log | 50 |
| binlog_cache_size | 65535 |
| expire_logs_days | 0 |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_locks_unsafe_for_binlog | OFF |
| innodb_log_arch_dir | |
| innodb_log_archive | OFF |
| innodb_log_buffer_size | 1048576 |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_mirrored_log_groups | 1 |
| log | ON |
| log_bin | ON |
| log_bin_trust_function_creators | OFF |
| log_error | /logs/mysql/mysqld.error.log |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | ON |
| log_warnings | 1 |
| max_binlog_cache_size | 4294967295 |
| max_binlog_size | 1073741824 |
| max_relay_log_size | 0 |
| relay_log_purge | ON |
| relay_log_space_limit | 0 |
| sync_binlog | 0 |
+---------------------------------+------------------------------+
26 rows in set (0.00 sec)
Посмотрите, что такое ON
и, если это не требуется, используйте SET GLOBAL
, чтобы изменить значения на OFF
. Помните, что все, что вы делаете с SET GLOBAL
, не будет сохраняться при перезапусках, поэтому вы можете протестировать с помощью SET GLOBAL
, а затем сделать изменения постоянными, записав значение в соответствующий конфигурационный файл.
Надеюсь, это даст вам то, что вам нужно.