Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Как сломать таблицу mysql?
цитата
25/01/09 в 22:04
 ibiz
как принудительно сломать таблицу бд?
вот такую ошибку нужно:
Код:
SQL error: Table './table' is marked as crashed and should be repaired
цитата
25/01/09 в 22:16
 Corex
Можно попробовать покоцать файл дата-таблицы table.myd, лежит в дире mysql -> data -> имя базы. Открыть в любом редакторе, удалить часть данных в конце и сохранить - должно побиться...
цитата
25/01/09 в 22:23
 ibiz
а рнр кодом можно какнить изловчиться?
цитата
25/01/09 в 22:49
 Pentarh
Сделай в ней индексы тяжелые и вхуячь длинную и тяжелую вставку данных.

А в это время...

kill -KILL `cat /var/run/mysqld.pid`

Сигнал KILL (в отличии от TERM/INT/HUP) не игнорируется и не обрабатывается. Процесс киляется, не успев завершить все как надо.
цитата
25/01/09 в 23:00
 Corex
В чистом виде - вряд ли. Только если есть какой-то баг или хак, но чтобы настолько специфичный под конкретную ошибку - вряд ли... Чтобы вызвать ошибку, нужно нарушить целостность хранимых данных; через api/интерфейс это сложно сделать, т.к. такое стараются исключить. Нужен или форс-мажор (вроде внезапного хард-ресета, смерти процесса, отключения питания, зависания в процессе записи/чтения и т.п.) или прямое ручное вмешательство.

Но, если вдруг PHP, каким-то образом, имеет доступ и права на запись к дата-файлам mysql, то можно попробовать через скрипт.
цитата
25/01/09 в 23:08
 ibiz
спсб, нашел нужное решение! smail54.gif
цитата
26/01/09 в 12:26
 leo1
когда-то тоже была такая проблема, нашел программу которая из mysql dbs файлов востанавливает формат таблицы и все записи как INSERT ...

Искать нужно в гугле, запросы типа recover mysql database и подобные
цитата
26/01/09 в 14:38
 Stek
Так топикстартеру не восстановить, а сломать надо icon_smile.gif
Кстати как сломал то ?
цитата
26/01/09 в 14:44
 ibiz
что-то вроде exec(kill -KILL `cat /var/run/mysqld.pid`) smail101.gif
цитата
26/01/09 в 19:15
 Cynic
не совсем корректное решение

пхп-скрипт при таком способе надо запускать из-под рута, а так как из консоли его вряд ли запускают, то значит апачевские скрипты надо запускать из-под рута, что чревато серьезными дырками в безопасности

можно конечно mysqld и скрипты запускать из-под одного юзера ;)

вобщем не всякий хостер такое позволит

лучше таки нагрузить его парой тысяч запросов вида select/insert/create index в таблицу на пару миллионов записей
само умрет ;)
цитата
26/01/09 в 19:23
 ibiz
Cynic писал:
не совсем корректное решение

пхп-скрипт при таком способе надо запускать из-под рута, а так как из консоли его вряд ли запускают, то значит апачевские скрипты надо запускать из-под рута, что чревато серьезными дырками в безопасности

можно конечно mysqld и скрипты запускать из-под одного юзера ;)

вобщем не всякий хостер такое позволит

лучше таки нагрузить его парой тысяч запросов вида select/insert/create index в таблицу на пару миллионов записей
само умрет ;)


ну у меня конечные цели другие, уточняя, то надо чтобы ошибочные базы лечились налету без потери данных icon_smile.gif
цитата
30/01/09 в 16:15
 Dantist
ibiz писал:
надо чтобы ошибочные базы лечились налету без потери данных :)

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


Эта страница в полной версии