Проблема с импортом баз, созданных средствами phpbb
-
- phpBB 1.2.1
- Сообщения: 23
- Стаж: 19 лет 1 месяц
- Откуда: Москва
Проблема с импортом баз, созданных средствами phpbb
Попал в глупую ситуацию: делал бэкап средствами форума (админ-панель), когда понадобилось импортировать базу phpmyadmin-ом хостера, множественные ошибки синтаксиса. При этом никаких дубликатов и пр. в дампе не нашел. Неужели придется тупо ставить phpbb соответствующей версии с чистой базой, затем "Восстановить базу"?
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Блин, поздно увидел. Я тему аналогичную создал (искать по нику).
Проблема в том, что админка пишет бэкап, удобный для чтения. Там вместо SQL-переноса (\r\n вроде бы) пишется простой перенос, как в блокноте. При восстановлении скрипт должен автоматом всё менять, но явно не справляется на деле. Слышал о том, что в бекапе WinHEX'ом нужно менять 2 байта на 4 и всё будет ОК, но я так и не нашёл, какие именно "2 байта". Помогите!
Проблема в том, что админка пишет бэкап, удобный для чтения. Там вместо SQL-переноса (\r\n вроде бы) пишется простой перенос, как в блокноте. При восстановлении скрипт должен автоматом всё менять, но явно не справляется на деле. Слышал о том, что в бекапе WinHEX'ом нужно менять 2 байта на 4 и всё будет ОК, но я так и не нашёл, какие именно "2 байта". Помогите!
-
- Former team member
- Сообщения: 582
- Стаж: 20 лет 3 месяца
- Откуда: Москва
Каждые два байта с кодами 0Dh и 0Ah (или 13 и 10 - что тоже самое) на строку из двую символов "\n" (ессно без кавычек)
Но! это делать не глобально автозаменой, а только внутри подстроки в запросе...
Это легче сделать обычным текстовым редактором - просто в том месте где строка бьется на две части - удаляете перевод строки и ставите \n
Но! это делать не глобально автозаменой, а только внутри подстроки в запросе...
Это легче сделать обычным текстовым редактором - просто в том месте где строка бьется на две части - удаляете перевод строки и ставите \n
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Спасибо, вроде разобрался. Только как конкретно это осуществить? Вручную памяти не хватает на это дело, да и голову сломаешь... Может всё-таки можно обойтись глобальной заменой в hex-редакторе? Ведь конец запроса определяется по точке с запятой. Кто может, отпишитесь подробно, что ламеру понятно было...avm писал(а):Каждые два байта с кодами 0Dh и 0Ah на строку из двую символов "\n" (ессно без кавычек)
Но! это делать не глобально автозаменой, а только внутри подстроки в запросе...
-
- Former team member
- Сообщения: 582
- Стаж: 20 лет 3 месяца
- Откуда: Москва
DeBugger, вы саму идею поняли?
Для эксперимента кусок того sql файла выдерните и пробуйте...
Far сможет пригодиться.
P.S. Для автозамены - сначала все 0Dh+0Ah замените на "\n", а потом ";\n" верните на ";"+0Dh+0Ah. Понятно изъясняюсь?
Добавлено спустя 5 минут 25 секунд:
В hex это будет выгдядеть так:
1) 0Dh+0Ah -> 5Ch+6Eh
2) 3Bh+5Ch+6Eh -> 3Bh+0Dh+0Ah
Для эксперимента кусок того sql файла выдерните и пробуйте...
Far сможет пригодиться.
P.S. Для автозамены - сначала все 0Dh+0Ah замените на "\n", а потом ";\n" верните на ";"+0Dh+0Ah. Понятно изъясняюсь?
Добавлено спустя 5 минут 25 секунд:
В hex это будет выгдядеть так:
1) 0Dh+0Ah -> 5Ch+6Eh
2) 3Bh+5Ch+6Eh -> 3Bh+0Dh+0Ah
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948