![]() |
Вопрос про редактирование БД, больших размеров
Значит так, ломанул я форум и слил себе базу.
База весит около 70 мегабайт. Вопрос как мне ее обрабатывать и редактировать? какие есть для этого проги, потому что мой phpmyadmin не в состоянии переварить такой объем. |
дык разбей на куски, или скрипт накодь, который будет парсить и находить нужные данные
|
на php я смогу наколбасить этот скрипт, в смысле сможет ли он обрабоать такой размер?
|
Открой в текстовом редакторе (bred - отлично открывает), отмотай где идет инфа о юзерах, вырезай, вставляй в новый, запускай поиск замену всяких "INSERT INTO `guest_db_users`" на пустое значение, потом пробегись и проверь - не встречается ли где амперсенд (`) если нет, то заменяй разделитель (обычно ', ') на амперсенд.
Теперь запускай Эксель, открывай свой файл, выбирай "с разделителем", указывай разделитель ` (не забудь поставить галку на "текстовые значения") и открывай. Потом удалишь все ненужные поля и вот у тебя база в нормальном читабельном виде. Потом уже оттуда выдирай логин/хэш, проверяй чтобы не встречалось в нике двоеточике (:) и засовывай в пассворд-про. Ну, или, отписывайся в личку, зипуй и засылай мне. Через 10 мин отошлю обратно твою базу отсортированной. Единсвенное - твою базу оставлю у себя в загашнике. |
спасибо censored все получилось, а насчет базы я бы тебе переслал бы если бы весила поменьше, а то мне диалапом закачивать тебе, если честно влом.
|
ее, лучше, перед этим зазиповать =)
|
тебе она нужна? если нужна то я ее просто оставлю там тока INSERT INTO forum_users вот эти строки и тебе дам
|
В инете нашел скрипт который открывает базы данных в excel
#!/usr/local/bin/perl use DBI; $table = "table"; $db = "base"; $db_serv = "192.168.0.1"; $user = "user"; $passwd = "password"; $c = DBI->connect("DBI:mysql:$db:$db_serv", $user, $passwd); $statement = "select count(*) from $table"; $cc = $c->prepare($statement); $ccc = $cc->execute; @row = $cc->fetchrow_array; $n = $row[0]; $statement = "select * from $table"; $cc = $c->prepare($statement); $ccc = $cc->execute; open F, "$ARGV[0]"; for ($i=0; $i<$n; $i++) { @row = $cc->fetchrow_array; print F "$row[0];$row[1];$row[3]\n"; } Запускаем скрипт: ./mysql_2_exel.pl file После этого можно открыть файл 'file' экселем. |
| Время: 07:40 |