IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Перенос MySQL (https://www.imho.ws/showthread.php?t=113014)

Melkor 28.12.2006 13:49

Перенос MySQL
 
Задумал переехать, но вот такая проблема, не удается перенести всю базу мускла.
Делаю экспорт на одном сайте, но когда импортирую получаю обратно read_dump.php И ничего более.
Это одна таблица, 1кб в gzip.
Подскажите как отрыть собаку.

cinic 28.12.2006 18:51

А какая версия Мускл, какую базу переносишь?

Melkor 29.12.2006 02:23

Переношу с MySQL 4.1.11 с бесплатного на MySQL 5.0.21 у majordome.
Причем проблема с переносом одной таблицы, самой большой (650к в gzip).
Остальные пенеслись.
А про базу я не совсем понял..
Переношу экспортом из одной на винч и потом импортом в другую.

slaff 29.12.2006 03:08

Каким образом переносишь (экспортируешь/импортируешь) ?

Самый простой вариант - phpmyadmin. Поставь опцию совместимости там в экспорте (SQL compatibility mode).

Более сложный, но надежнее - через консоль (ssh).

Совет. Работой с копией backup'а и будь готов (морально) к проблемам с кодировками (если юзаешь юникод).

Melkor 29.12.2006 04:16

Через phpmyadmin и переношу. Совместимость не помогла :( Отписал саппорту...мож все сразу закинут.
С русским проблемы есть, то что закинулось все в вопросах, но тут еще то может сказаться, что в старой было не в utf-8 и даже не в кириллице :confused: Но новые сохраняются и показываются нормально.
Как этого в будущем избежать?

slaff 29.12.2006 04:46

Цитата:

С русским проблемы есть, то что закинулось все в вопросах, но тут еще то может сказаться, что в старой было не в utf-8 и даже не в кириллице :confused: Но новые сохраняются и показываются нормально.
Как этого в будущем избежать?
Вопрос скорее "как это предотвратить". Расскажу на примере проблем WordPress с русскими символами в UTF. Может быть твоя старая база создана с mysql collation utf8-general-ci , а сама база в latin_swedish_1 (или какой-нибудь другой кодировке). Многие обжигаются на этом, работая со скриптами и phpmyadmin.

Сделай дамп базы (экспорт), открой его в редакторе вроде webuilder или dreamweaver (проверено на обоих - 100% эффект). Далее посмотри внимательно, чтобы всё читалось нормально (я имею в виду русские символы).

Затем поищи кодировку (collation) latin_1 и замени её (или другую, если это не utf) на 'utf8' (без кавычек). Всё - сохраняешь файл и идешь в свой новый мускуль, где ставить mysql collation и collation для актуальной базы как utf8-general_ci. И только потом импортируешь.

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

Цитата:

$this->select($dbname); // подключение к базе
$this->query(”SET NAMES utf8″); // это чтобы запросы выполнялись как надо в дальнейшем

uerter 10.01.2007 15:30

но тут конечно есть другие варианты
к примеру через шелл
при помощи
PHP код:

mysqldump test_db dump.sql 

делаем дамп далее переносим на другой хост
далее переконвертируем в требуемую кодировку
PHP код:

iconv -f utf8 -t latin1 -dump.sql sed s/latin1/cp1251/ | perl -ne 's/NAMES utf8/NAMES cp1251/; print' new_dump.sql 

и при помощи
PHP код:

mysql -u tester -p

Enter password
:

mysql> use new_db
mysql
source new_dump.sql 

вот и все по ходу
кодировку думаю сами подправите на нужную

----------------------------
при маленьких размерах базы можно попробовать вручную сделать РНР скрипт который вставляет все в базу (но это очегь геморный процес и не совсем хороший)


Часовой пояс GMT +4, время: 03:08.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.