После этого репликация продолжится, но с новой (следующей) позиции. Полезно, когда слейв упирается в ошибку при попытке выполнить следующую команду из релей-лога и репликация останавливается.
17 марта 2013
Как пропустить позицию в бинарном логе при репликации в MySQL
После этого репликация продолжится, но с новой (следующей) позиции. Полезно, когда слейв упирается в ошибку при попытке выполнить следующую команду из релей-лога и репликация останавливается.
06 января 2013
Ошибка при запуске mergemaster во время обновления FreeBSD
В процессе обновления FreeBSD с версии 7.0 до версии 7.4 методом компиляции ядра и "мира" столкнулся с возникновением ошибки на одном из последних шагов - запуске утилиты mergemaster без параметров.
# mergemaster
*** Creating the temporary root environment in /var/tmp/temproot
*** /var/tmp/temproot ready for use
*** Creating and populating directory structure in /var/tmp/temproot
+ ln -s ../var/named/etc/namedb /var/tmp/temproot/etc/namedb
install: wrong number or types of arguments
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 file2
install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 ... fileN directory
install -d [-v] [-g group] [-m mode] [-o owner] directory ...
*** FATAL ERROR: Cannot 'cd' to /usr/src and install files to
the temproot environment
Смотрим, что такое /var/tmp/temproot/etc/namedb:
# ls -l /var/tmp/temproot/etc/namedb
lrwxr-xr-x 1 root wheel - 23 6 янв 11:53 /var/tmp/temproot/etc/namedb@ -> ../var/named/etc/namedb
Стало быть - символическая ссылка.
Но перейти по ней не получается, несмотря на то, что исходная директория существует:
# cd /var/tmp/temproot/etc/namedb
cd: permission denied: /var/tmp/temproot/etc/namedb
Собственно, из-за этого утилите instal и не получается скопировать файлы в эту директорию.
Все потому, что на сервере директория /var/tmp примонтирована без права перехода по символическим ссылкам:
# mount | grep tmp
/dev/ar0s1d on /var/tmp (ufs, local, noexec, nosuid, nosymfollow)
Данный флаг был выставлен для того, чтобы предотвратить часть хакерских атак, возможных при эксплуатации дыр в стороннем ПО при загрузке файлов на сервер (которые первоначально попадают как раз в /var/tmp).
Выхода два:
- Убрать в файле /etc/fstab флаг nosymfollow и примонтировать заново /var/tmp
- Указывать утилите mergemaster другой раздел для развертывания каталога temproot с помощью параметра -t
10 октября 2012
Ссылки: документация по открытой web-платформе для разработчиков
Детальнее на www.opennet.ru
30 августа 2012
11 мая 2012
The Web platform: Browser technologies
17 апреля 2012
Ускорение перезапуска MySQL
Как выяснилось, для InnoDB движка MySQL перед перезагрузкой сбрасывает буфер изменений на диск, что занимает значительное время.
Можно и принудительно завершить работу базы даже в момент синхронизации буферов через kill -9. При этом данные не потеряются, поскольку будут восстановлены из бинарного лога при следующем запуске сервера. Но все же существует способ значительно ускорить перезагрузку MySQL сервера.
mysql> set global innodb_max_dirty_pages_pct = 0;
Данной командой мы сообщаем серверу, что необходимо свести к минимуму кол-во не синхронизированных страниц буффера.
После этого нужно ждать и мониторить значение этой переменной, например в консоли:
$ mysqladmin ext -i 2 | grep dirty
В идеале, нужно дождаться нуля.
Следует заметить, что чем больше у вас размер буфера (innodb_buffer_pool_size), тем больше будет "грязных" страниц.