Восстановление баз данных MySQL

Довольно часто базы данных MySQL “ломаются”. В результате, приходится ремонтировать. Поломки баз данных происходят из-за не корректных выключений компьютера или сбоев в компьютере, когда сервер не может корректно закрыть файл. Следует отметить, что не все базы данных удаётся поремонтировать, поэтому, рекомендуется делать резервные копии rolleyes.gif Есть несколько способов восстановления баз данных. И все они требуют, чтоб никто в это время не обращался к таблице базы данных, иначе предсказать последствия не возможно. Самый простой способ восстановления – выполнить SQL-команду: repair table <название таблицы>; Данная команда восстановит таблицу в большинстве случаев. Иногда, приходится использовать специальную утилиту для восстановления таблиц: myisamchk -r -q <название таблицы> – режим быстрого восстановления файлов. myisamchk -r <название таблицы> – режим восстановления файла. myisamchk -r -f -o <название таблицы> – режим восстановления в защищенном режиме файла. Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Read more

Восстановление базы данных Postgresql

Автор: Рудюк С . А. https://corp2.net E-Mail: rs@corp2.net Любая база данных выходит из строя… Пользователи забывают делать бекапы и как результат, программистам приходится возиться с восстановлением данных. Ранее, я не однократно описывал восстановление баз данных Firebird (Interbase), но уже давно работаю с другими базами данных, поэтому, сталкиваюсь с “новыми задачами” по восстановлению информации. Сегодня, ко мне обратился один старый клиент, у которого много лет работает база данных на Postgresql со вчерашнего дня у них стали выдаваться ошибки Page Error при входе в систему. Как результат – не возможность работы. Зашел в PgAdmin, попробывал сделать бекап – вывались ошибки. Начал “передвигаться” по списку баз данных – вываливается огромное количество ошибок Page Error. Решили восстановить из бекапа. Как оказалось, последний бекап – за декабрь 2013 года. Пол-года пропало! И тут меня осенило! Решил попробывать выполнить select. Проходит успешно, данные показывает без ошибки. Ура! Подумал я себе. Итак, как мне удалось восстановить базу без потери информации: 1. Создаю новую базу данных (с другим названием) из найденного бекапа (в данном случае, декабрь 2013г.). Проверяю входить в систему – всё отлично. 2. Сохраняю данные из каждой интересующей меня таблицы, подобными запросами: copy (select * from zrp_zakaz ) to ‘d:\tmp\zrp_zakaz’; 3. Удаляю данные из необходимых таблиц в базе данных, которую восстановили. Например: delete from zrp_zakaz; 4. Закачиваю данные из сохраненного файла в другой базе данных. Например: copy zrp_zakaz from ‘d:\tmp\zrp_zakaz’; Как результат – база восстановилась полностью, без потери данных. Клиент счастлив, чего и следовало добиться… Автор: Рудюк С . А. https://corp2.net Разработка и создание сайтов, интернет-магазинов, […]

Read more