Исправляем ошибку InnoDB: ERROR: the age of the last checkpoint is xxxxxxx, InnoDB: which exceeds the log group capacity xxxxxx.

В категории Подсказки от 12 ноября, 2014. Автор admin

Иногда при активной работе с базами на сервере появляется ошибка ERROR: the age of the last checkpoint is 9448958.
После этого данные корректно не записываются в базу и mysql не загружается.
Полностью ошибка выглядит так:

InnoDB: ERROR: the age of the last checkpoint is 9448958,
InnoDB: which exceeds the log group capacity 9433498.
InnoDB: If you are using big BLOB or TEXT rows, you must set the
InnoDB: combined size of log files at least 10 times bigger than the
InnoDB: largest such row.

Эта ошибка возникает когда в базу данных активно пишутся данные, но размер файлов ib_logfile* слишком мал.
Лечение:
1. Делаем бэкап.
2. Увеличиваем значение параметра innodb_log_file_size в файле /etc/my.cnf (я установил его в 50М, но желательно вычислить точный его размер, он должен быть равен объёму данных записываемых в течении одного часа в таблицы Innodb).
3. Останавливаем mysql
4. Удаляем файлы ib_logfile0 и ib_logfile1 из рабочего каталога mysql
5. Запускаем mysql
6. Проверяем:

mysql -e "show variables" |grep innodb_log_file_size
innodb_log_file_size	52428800
Тэги: , ,

nginx «Cannot assign requested address»

В категории Подсказки от 30 августа, 2012. Автор admin

После смены сетевой карты в сервере не стартанул nginx. В логе при попытке рестарта наблюдаем:

bind() to xxx.xxx.xxx.xxx:85 failed (99: Cannot assign requested address)

причина ошибки в том, что в системе не поднялся IP на котором работал nginx

Тэги: , ,

Решение некоторых проблем при компиляции ПО

В категории Статьи от 15 июля, 2011. Автор admin

Проблема:     OS FreeBSD. The following error arise during package installation:

./+POST-INSTALL: permission denied
pkg_add: install script returned error status

Решение:     remove noexec options in /var/fstab file on /tmp partition and remount this partition

# mount -u /tmp

Проблема:     Problem during Postgres dump.

template1=# \c test97
FATAL:  SetDatabaseEncoding(): invalid database encoding
Previous connection kept
template1=# \encoding
SQL_ASCII
template1=#
template1=# DROP DATABASE test97;
ERROR:  DROP DATABASE: database is marked as a template
template1=#
template1=# \l
List of databases
Name         |       Owner        | Encoding
———————-+———————+————
test97               |                    | SQL_ASCII

Решение:

template1=# update pg_database set datdba=1 where datname=’test97′;
UPDATE 1
template1=#

template1=# \l
List of databases
Name         |       Owner        | Encoding
———————-+———————+————
test97               | pgsql              | SQL_ASCII

template1=# DROP DATABASE test97;
DROP DATABASE
template1=#
Больше »

Тэги: , ,