С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/01/09 в 22:04 |
как принудительно сломать таблицу бд?
вот такую ошибку нужно:
Код: | SQL error: Table './table' is marked as crashed and should be repaired |
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 25/01/09 в 22:16 |
Можно попробовать покоцать файл дата-таблицы table.myd, лежит в дире mysql -> data -> имя базы. Открыть в любом редакторе, удалить часть данных в конце и сохранить - должно побиться...
|
|
Power of the lime madness...
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/01/09 в 22:23 |
а рнр кодом можно какнить изловчиться?
|
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 25/01/09 в 22:49 |
Сделай в ней индексы тяжелые и вхуячь длинную и тяжелую вставку данных.
А в это время...
kill -KILL `cat /var/run/mysqld.pid`
Сигнал KILL (в отличии от TERM/INT/HUP) не игнорируется и не обрабатывается. Процесс киляется, не успев завершить все как надо.
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 25/01/09 в 23:00 |
В чистом виде - вряд ли. Только если есть какой-то баг или хак, но чтобы настолько специфичный под конкретную ошибку - вряд ли... Чтобы вызвать ошибку, нужно нарушить целостность хранимых данных; через api/интерфейс это сложно сделать, т.к. такое стараются исключить. Нужен или форс-мажор (вроде внезапного хард-ресета, смерти процесса, отключения питания, зависания в процессе записи/чтения и т.п.) или прямое ручное вмешательство.
Но, если вдруг PHP, каким-то образом, имеет доступ и права на запись к дата-файлам mysql, то можно попробовать через скрипт.
|
|
Power of the lime madness...
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 25/01/09 в 23:08 |
спсб, нашел нужное решение!
|
|
|
|
С нами с 24.03.03
Сообщения: 553
Рейтинг: 794
|
Добавлено: 26/01/09 в 12:26 |
когда-то тоже была такая проблема, нашел программу которая из mysql dbs файлов востанавливает формат таблицы и все записи как INSERT ...
Искать нужно в гугле, запросы типа recover mysql database и подобные
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 26/01/09 в 14:38 |
Так топикстартеру не восстановить, а сломать надо
Кстати как сломал то ?
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 26/01/09 в 14:44 |
что-то вроде exec(kill -KILL `cat /var/run/mysqld.pid`)
|
|
|
|
С нами с 27.01.03
Сообщения: 156
Рейтинг: 187
|
Добавлено: 26/01/09 в 19:15 |
не совсем корректное решение
пхп-скрипт при таком способе надо запускать из-под рута, а так как из консоли его вряд ли запускают, то значит апачевские скрипты надо запускать из-под рута, что чревато серьезными дырками в безопасности
можно конечно mysqld и скрипты запускать из-под одного юзера ;)
вобщем не всякий хостер такое позволит
лучше таки нагрузить его парой тысяч запросов вида select/insert/create index в таблицу на пару миллионов записей
само умрет ;)
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 26/01/09 в 19:23 |
Cynic писал: | не совсем корректное решение
пхп-скрипт при таком способе надо запускать из-под рута, а так как из консоли его вряд ли запускают, то значит апачевские скрипты надо запускать из-под рута, что чревато серьезными дырками в безопасности
можно конечно mysqld и скрипты запускать из-под одного юзера ;)
вобщем не всякий хостер такое позволит
лучше таки нагрузить его парой тысяч запросов вида select/insert/create index в таблицу на пару миллионов записей
само умрет ;) |
ну у меня конечные цели другие, уточняя, то надо чтобы ошибочные базы лечились налету без потери данных
|
|
|
|
php наше всё :)
С нами с 26.07.04
Сообщения: 814
Рейтинг: 447
|
Добавлено: 30/01/09 в 16:15 |
ibiz писал: | надо чтобы ошибочные базы лечились налету без потери данных :) |
Это сказки. В большинстве случаев ты теряешь как минимум одну запись.
|
|
|
|