Mikhailo 0 Опубликовано: 27 ноября 2008 Рассказать Опубликовано: 27 ноября 2008 Привет всем форумчанам! К сожалению у меня возникала проблема с базой данных (далее БД). Версия ДЛЕ 7.3. Сайт в принципе не важен, но нужно сказать, что на нём последняя новость имеет id 113778. То есть новостей уже не мало. И вот, что произошло: 1) Хотел просто напросто сделать оптимизацию БД через админку, впрочем как обычно. Тут я прождал минут 5, оптимизация так и не провелась и я закрыл вкладку браузера. Конечно же, делать этого было нельзя. Появилась ошибка, связанная с таблицей dle_post. Ну ничего, потом я провёл ремонт БД и всё встало на свои места вроде бы. 2) На след. день я сделал бекап БД через админку, он сохранился, всё вроде бы тоже как обычно. Потом я опять решил сделать оптимизацию, но уже ту, которая пошаговая. На последнем шагу опять завис так сказать браузер. На сайте я увидел сообщение Too many connections. Я закрыл вкладку с оптимизацией. Думал, всё равно сделал бекап перед этим. На сайте увидел потом опять ошибку, связанную с таблицей dle_post. Я подумал, ничего страшного, ведь у меня есть самый последний бекап... Через админку же я и восстановил его, сайт заработал. НО о ужас! Многие новости просто стёрлись! Причём чисто новости, не комментарии к ним или картинки. То есть что-то произошло с dle_post. Возможно из-за того, что она такая объёмная стала? У меня есть несколько старых бекапов, но восстанавливая через них - также терялись новости. Что же теперь можно сделать? Для начала хотя бы вернуть новости. Готов выслушать любую помощь. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 ноября 2008 Рассказать Опубликовано: 27 ноября 2008 Mikhailo, пишите хостеру, они делают автоматические собственные бекапы, узнайте за какой последний день, у них есть бекапы. Цитата Ссылка на сообщение Поделиться на других сайтах
Mikhailo 0 Опубликовано: 27 ноября 2008 Рассказать Опубликовано: 27 ноября 2008 Автор У меня выделенный сервер, они сказали, что бекапами не занимаются, так как они предоставляют мне root-доступ... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 28 ноября 2008 Рассказать Опубликовано: 28 ноября 2008 Mikhailo, тогда вы потеряли БД. Проблема то вовсе не в том что вы закрыли браузер, его закрытие невызывает абсолютно никаких проблем, иначе бы все сайты сыпались ежедневно. Тысчяи людей, посетителей, закрывают браузеры недождавшись загрузки сайта. Проблема была в том что ваш MySQL работал в тот момент нестабильно, произошло повреждение таблицы в момент чтения - записи, например отказ операционной системы когда сервер писал в файлы БД, или диска, причин много. Вы же сделали бекап с поврежденной таблицей, повреждения бывают разные и разных местах таблицы, и не всегда вы видите сразу ошибку, ошибку видно только тогда когда запрашиваете информацию из поврежденных данных. Поэтому прежде чем делать бекап, нужно делать ремонт и оптимизацию, а потом сразу бекап. На сайте увидел потом опять ошибку, связанную с таблицей dle_post. Я подумал, ничего страшного, ведь у меня есть самый последний бекап... Это тоже ваша большая ошибка, повреждение БД это не обязательно потеря данных. Просто происходит потеря связей таблиц с ключами, нарушение в служебной информации и т.д., поэтому обычный ремонт практически всегда восстанавливает рабочее состояние всех данных, т.к. ремонт по сути восстанавливает служебную информацию и все. Восстановление бекапа, это самая крайняя мера, когда неустранимы повреждения. Не всегда скрипт может сам себя восстановить, поэтому также всега нужно пробовать восстановление в MyPHPAdmin. Ну и бэкапы, их всегда нужно иметь несколько копий, например за последние десять дней. Что же теперь можно сделать? Для начала хотя бы вернуть новости. Готов выслушать любую помощь. Ну и последний возможный для вас шанс, посмотрите в файле бекапа, таблицу _post, в файле эти потерянные новости присутствуют? возможно у вас и нет проблем с бэкапом, просто большой обьем информации скрипт не успевает вставить в БД из за установленных лимитов на выполнение скрипта Цитата Ссылка на сообщение Поделиться на других сайтах
Mikhailo 0 Опубликовано: 28 ноября 2008 Рассказать Опубликовано: 28 ноября 2008 Автор смотрю самый последний бекап через Microsoft Management Studio и показывается всё только до строки 60655. Эта как раз таблица _пост. Дальше вывод строк прекращается. Значит ли это, что это конец моей БД или просто программа физически не может показать эти строки дальше? У меня есть несколько бекапов: до и после "аварии". Но показ строк примерно одинаков. Скажите, Celsoft, пожалуйста, с помощью каких средств можно посмотреть полный размер моей не такой уж и маленькой БД. Vielen vielen Dank. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 28 ноября 2008 Рассказать Опубликовано: 28 ноября 2008 Mikhailo, это конец вашего бекапа. Цитата Ссылка на сообщение Поделиться на других сайтах
Mikhailo 0 Опубликовано: 28 ноября 2008 Рассказать Опубликовано: 28 ноября 2008 (изменено) Автор А где тогда таблицы, которые после dle_post. Например, users? Или они просто не вошли в бекап, а на сайте остались??? И как в будущем лучше всего делать бекапы? Через phpMуAdmin? И ещё вопрос: я скачал БД свою и хочу посмотреть её на локальном сервере. Когда я там хочу восстановить эту БД, то получаю сообщение такое вот: Возникла ошибка! Неправильный запрос. Access denied for user 'user'@'localhost' to database 'db' (256) Что же нужно сделать? Изменено 28 ноября 2008 пользователем Mikhailo Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 28 ноября 2008 Рассказать Опубликовано: 28 ноября 2008 И как в будущем лучше всего делать бекапы? Через phpMуAdmin? Лучше через скрипт, но не забывать при этом проверять его целостность Access denied for user 'user'@'localhost' to database 'db' (256) неверный логин или пароль для БД. Цитата Ссылка на сообщение Поделиться на других сайтах
Mikhailo 0 Опубликовано: 29 ноября 2008 Рассказать Опубликовано: 29 ноября 2008 (изменено) Автор Celsoft, ну вот смотрите: Если я сейчас сделал бекап БД из админки и проверяю её. Бекап сделался, оканчиваясь на таблице _post. То есть таблицы _users, например, в бекапе нет. То есть, как я понимаю, бекап сделался не полностью, верно? Какие есть тогда пути из этого положения, я же не могу рисковать своей БД так постоянно. Celsoft, подскажите пожалуйста. Вы знаете DLE как никто другой. Что я ещё заметил: в таблице _пост id новостей частично перепутаны... Спасибо. Изменено 29 ноября 2008 пользователем Mikhailo Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 29 ноября 2008 Рассказать Опубликовано: 29 ноября 2008 Бекап сделался, оканчиваясь на таблице _post. То есть таблицы _users, например, в бекапе нет. То есть, как я понимаю, бекап сделался не полностью, верно? сделайте ремонт БД в MyPHPAdmin Что я ещё заметил: в таблице _пост id новостей частично перепутаны... Что значит перепутаны. Цитата Ссылка на сообщение Поделиться на других сайтах
Mikhailo 0 Опубликовано: 29 ноября 2008 Рассказать Опубликовано: 29 ноября 2008 Автор Что значит перепутаны. ID новостей идут не по порядку, а немного вразброс: например, идут новости от 2006 года, а потом неожиданно проявляются некоторые из 2008 с номером id где-то 1230. Значит ли, что нужно провести оптимизацию через MyPHPAdmin и структура таблиц вновь обретёт свой порядок? И ещё вопрос: если я сделаю ремонт БД не пропадут ли мои новости за вчера-сегодня? Цитата Ссылка на сообщение Поделиться на других сайтах
Mikhailo 0 Опубликовано: 1 декабря 2008 Рассказать Опубликовано: 1 декабря 2008 Автор Celsoft, сделал всё как Вы сказали: отремонтировал и оптимизировал таблицы через phpMyAdmin. Смотрю свойства таблицы _пост --> показывают, что всего существуют id 41586 новостных. Делаю бекап через админку --> БД заканчивается где-то на id 8000. Скажите пожалуйста, что же всё-таки я могу сделать с БД? Как сделать правильный бекап? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 1 декабря 2008 Рассказать Опубликовано: 1 декабря 2008 ID новостей идут не по порядку, а немного вразброс: например, идут новости от 2006 года, а потом неожиданно проявляются некоторые из 2008 с номером id где-то 1230. Выберите в MyPHPAdmin сортировку по ID и они будут идти по порядку, порядок зависит от выбранной сортировкиСмотрю свойства таблицы _пост --> показывают, что всего существуют id 41586 новостных. ID это не количество новостей, это уникальный идентификатор новости, это всегда уникальное число, при удалении новости она удаляется а ID продолжает расти и всегда остается уникальным. Делаю бекап через админку --> БД заканчивается где-то на id 8000. Скажите пожалуйста, что же всё-таки я могу сделать с БД? Как сделать правильный бекап? Несовсем понял, у вас сейчас в БД гораздо больше новостей чем делается в бекапе? Если да то попробуйте сделать бекап в MyPHPAdmin. Цитата Ссылка на сообщение Поделиться на других сайтах
Mikhailo 0 Опубликовано: 1 декабря 2008 Рассказать Опубликовано: 1 декабря 2008 Автор Ну смотрите, Celsoft, мне кажется, что ДЛЕ просто не может сделать корректный бекап, потому и обрезает его. То есть нужно сделать бекап через PHPMyAdmin. Но все бекапы от туда получаются где-то по 180 МБ, а не по 40 как через админку ДЛЕ. Эти 180-бекапы к сожалению не открываются в Microsoft Management Studio. Как же мне его посмотреть и убедиться, что все новости там всё-таки есть. Смотря _пост через PHPMyAdmin я обнаружил там все новости в принципе. То есть нужно как-то сделать бекап, посмотреть, что все новости там есть и успокоиться. Подскажите, Celsoft, пожалуйста, ведь я уже почти у цели... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 1 декабря 2008 Рассказать Опубликовано: 1 декабря 2008 Mikhailo, Видимо скрипту не хватает времени на выполнение бекапа, т.к. установлены лимиты на выполение скриптов PHP в настройках сервера. Посмотреть бекап вы можете в WordPad Цитата Ссылка на сообщение Поделиться на других сайтах
inetlinks 0 Опубликовано: 1 декабря 2008 Рассказать Опубликовано: 1 декабря 2008 Воспользуйтесь вот этим : http://sypex.net/products/dumper/ Этот скрипт отлично делает Backup базы данных, и при том умеет его сжамать. Так у меня сейчас база данных выросла за 300 мб, а когда я делаю бэкап этим скриптом, то он ужимается в архив до 45-50 мб. Цитата Ссылка на сообщение Поделиться на других сайтах
Al-x 7 Опубликовано: 1 декабря 2008 Рассказать Опубликовано: 1 декабря 2008 (изменено) Воспользуйтесь вот этим : http://sypex.net/products/dumper/ Этот скрипт отлично делает Backup базы данных, и при том умеет его сжамать. Так у меня сейчас база данных выросла за 300 мб, а когда я делаю бэкап этим скриптом, то он ужимается в архив до 45-50 мб. реальный размер бд - около 150 Мб. 300 - это с учётом индексов, а они занимают половину (если не больше). В бэкап индексы не входят никогда. так что сжатие текста 150мб зип, гзип и даст эти же 45-50мб. Просто в пхпмайадмине при быкапе ставьте нужные галочки)) Изменено 1 декабря 2008 пользователем Al-x Цитата Ссылка на сообщение Поделиться на других сайтах
Mikhailo 0 Опубликовано: 1 декабря 2008 Рассказать Опубликовано: 1 декабря 2008 Автор Ну, спасибо вам, ребята! Всем троим! Celsoft'у за терпение Всё значит сделал как Вы сказали. Главное - смотреть БД через WordPad и бекап через админку не делать, так как он обрезается... Прога http://sypex.net/products/dumper/ мне понравилась. Хотя, думаю, она же и используется в админке?? Теперь последний вопрос: восстанавливать БД лучше тоже через неё? И ещё: можно ли проводить вот этот пункт админки: "Мастер оптимизации Мастер оптимизации и очистки базы данных, позволяющий существенно увеличить скорость работы сайта" через PHPMyAdmin ? Всем спасибо Цитата Ссылка на сообщение Поделиться на других сайтах
Akela 9 Опубликовано: 2 декабря 2008 Рассказать Опубликовано: 2 декабря 2008 (изменено) Хотя, думаю, она же и используется в админке?? В админке используется последняя версия Sypex Dumper Lite version 1.0.8b. Видимо скрипту не хватает времени на выполнение бекапа, т.к. установлены лимиты на выполение скриптов PHP в настройках сервера. У нас аналогичная проблема, вариант бэкапа со сжатием, началась где-то при размере базы в 250 Мб, при этом автобэкап работает нормально. Очевидно проблема возникает с выводом информации о сохранении таблиц в браузер. Может быть можно что-то там подправить ? Изменено 2 декабря 2008 пользователем Akela Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 2 декабря 2008 Рассказать Опубликовано: 2 декабря 2008 Очевидно проблема возникает с выводом информации о сохранении таблиц в браузер. Может быть можно что-то там подправить ? вы не видите процесса создания в процентном отношении? Отключите буфферизацию вывода в настройках PHP Цитата Ссылка на сообщение Поделиться на других сайтах
Akela 9 Опубликовано: 2 декабря 2008 Рассказать Опубликовано: 2 декабря 2008 вы не видите процесса создания в процентном отношении? да, сначала открывется пустое окошко, проценты набегают позже, где-то после половины таблиц. Отключите буфферизацию вывода в настройках PHP Спасибо, попробую. Цитата Ссылка на сообщение Поделиться на других сайтах
inetlinks 0 Опубликовано: 3 декабря 2008 Рассказать Опубликовано: 3 декабря 2008 Востановление базы данных лучше делать через этуже прогу. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.