Tag Archive for 'mysql'

Linux VPS: Backup MySQL баз данных

Предыдущие записи: Переезд Backup Выбор хостера

Да, в продолжение темы Backup-а хостинга и переезда.

Как правильно перемещать базы MySQL?

В идеале, стоит выключить MySQL сервер, потом скопировать базы. Но это в идеале. В действительности получается либо приходится копировать с живых баз - потому что серверу нельзя простаивать, либо приходится копировать уже с упавшего сервера.

Как копировать базы с работающго MySQL сервера ?

Есть цивилизованый вариант при помощи mysqldump - он неплохо работает, но если при этом происходят изменения в базе данных - то потом будет проблема синхронизировать сервера.

Самый цивилизованый и правильный вариант - это настраивать синхронизацию master/slave. Перегонать всю базу на slave, а потом уже с него и запускать. НО! Есть несколько но - это сложнее и это требуется только на тех хостах, где нельзя допустить даже кратковременного отключения базы.

Если же можно допустить кратковременное отключение, то последовательность действий будет такая:

  • Делаем копию базы на новом хосте при помощи rsync или tar.gz - без разницы чем
  • Останавливаем MySQL сервер
  • Делаем окончательную синхронизацию при помощи rsync
  • Поднимаем MySQL сервер на новом хосте и перенастраиваем все приложения на него

Как правильно копировать “упавшие” базы MySQL?

Тут, поскольку уже все и так само упало, процесс немного проще.

  • Копируем все базы на новый хост (rsync/tar.gz)
  • Прогоняем по ним myisamchk , если база хранилась исключительно в InnoDB - тогда этот шаг не нужен. (Как это делать и как ускорять процесс - есть в книжке по FreeBSD+apache+mysql+php , на Linux процедура ничем не отличается ).
  • Запускаем MySQL сервер уже на новой машине

Ну как, есть вопросы? Готовы переживать переезд к новому хостеру прямо сейчас? :)

Продолжение, естественно, следует …

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Linux VPS: Падение хостинга или “Пожелай врагу переезд”

Добрый день!

Наверно вы заметили, что этот сайт был недоступен последние несколько дней.  Это последствие того, что мой хостер поступает очень нехорошо и очень плохо обслуживает сайты.

Итак, приготовьтесь - скоро я начну описывать в подробностях, как переежжать с одного VPS  на другой, с чем это связано и как минимизировать убытки и простой сайта.

Что такое VPS?

VPS расшифровываестя как Virtual Private Server — Виртуальный Частный Сервер.  А если просто и в двух словах - то берется один мощный сервер и при помощи какой-либо технологии виртуализации (Xen/OpenVZ) нарезается на много маленьких изолированных друг от друга серверов. У всех у них меньше памяти/дискового пространства/процессорного времени, но зато они существенно дешевле, чем арендовать большой сервер. Тем более когда вам и не нужны мощности выделенного сервера.

Итак

Из чего состоит переезд?

К сожалению, у меня переезд совершился в авральном режиме и без соответствующей подготовки - на то были причины.

Но в целом вам нужно представить этапы:

  1. Делаем предварительный полный backup
  2. Находим новый хост, оплачиваем, получаем к нему доступ
  3. Перекачиваем весь полный backup на новый хост
  4. Поднимаем/восстанавливаем на новом хосте конфигурацию со старого (не всегда это возможно проверить, но тем не менее можно все подготовить) - тут есть много тонкостей
  5. Снижаем время обновления DNS до 5-10 минут
  6. Приостанавливаем/переводим в readonly старый хостинг
  7. Делаем окончательную синхронизацию файлов
  8. Поднимаем все сервисы на новом хосте
  9. Вносим изменения в DNS
  10. PROFIT
  11. Поднимаем время обновления DNS до нормального

Естественно, там есть много мелких деталей, которые могут сделать вашу перенос хостинга более или менее болезненным.

Итак — следите за обновлениями в блоге. Я буду рассказывать и показывать в примерах, что именно нужно было сделать.

В качестве примера будет испльзоваться CentOS, поскольку он стоит на большинстве нормальных VPS хостингов.

Я буду выпускать бесплатную версию курса - где можно будет просто скачать аудио файлы и послушать их.

Будет так же и платная версия курса

  • доступ во время к онлайн вещания, возможность задавать вопросы на ходу
  • скринкасты
  • примеры скриптов и живой, работающей конфигурации

После окончания переезда (ну и соответственно и курса) я, как всегда, подыму цену — до 4500 рублей.

Я знаю, что запишутся немногие, поэтому там можно смело раздавать вкусные и полезные советы и приемы — все равно большая часть читателей с ними не познакомится :)

Спешите записаться, потому что курс будет идти прямо в режиме online - я сейчас в процессе переезда и буду его подробно освещать.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

Пошел бить собственный рекорд по MySQL

На данный момент база с которой я работаю имеет объем 16,749,867KB, в ней всего 4 таблицы, в которых суммарно 319,499,599 записей :) Самое веселое - это когда MySQL начинает между ними делать JOIN :)

До этого крупная база с которой я работал в production несколько лет назад - была объемом в 4Гб где-то и суммарно ~60 миллионов строк.

Опытным путем также установлено, что перловский класс BerkleyDB не принимает больше 500Мб кэш-памяти и, естественно, упирается в дисковую производительность при операциях с базой.

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).

FreeBSD: Как посмотреть версию mysql

Тут тоже очень все просто.

Версия клиента

Можно запустить команду mysql и она при запуске печатает свою версию.

@all ~> mysql -V
mysql Ver 14.12 Distrib 5.0.17, for portbld-freebsd7.0 (i386) using 5.0
@all ~>

Версия сервера

Continue reading ‘FreeBSD: Как посмотреть версию mysql’

Понравилось? Подпишись на RSS!

Хочешь написать статью? Мы ищем авторов (и не только за красивые глаза, но и за дохлых президентов).