Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
1 2006-11-11 20:30:06 (изменено: ysl, 2006-11-11 21:30:53)
- ysl
- Редкий гость
- Неактивен
- Зарегистрирован: 2006-11-11
- Сообщений: 18
Тема: #1064 ошибка при импорте дампа базы данных MySQL
При импорте пишет —
Ошибка
SQL-запрос:
— phpMyAdmin SQL Dump
— version 2.8.2-Debian-0.1
— http://www.phpmyadmin.net
—
— Хост: localhost
— Время создания: Ноя 11 2006 г., 22:17
— Версия сервера: 5.0.20
— Версия PHP: 4.4.2-1.1
—
— БД: `ab`
—
— ———————————————————
—
— Структура таблицы `additions`
—
CREATE TABLE `additions` (
`uid` varchar( 8 ) NOT NULL ,
`amount` float NOT NULL ,
`comment` varchar( 50 ) NOT NULL ,
`delmark` tinyint( 1 ) NOT NULL default ‘0’
) ENGINE = MYISAM DEFAULT CHARSET = cp1251;
Ответ MySQL: Документация
#1064 — You have an error in your SQL syntax near ‘ENGINE=MyISAM DEFAULT CHARSET=cp1251’ at line 9
что делать?
2 Ответ от Hanut 2006-11-11 23:10:49
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: #1064 ошибка при импорте дампа базы данных MySQL
Очень распространённая ошибка. Причины могут быть в следующем:
1) Тип движка БД в которую вы пытаетесь вставить дамп не MYISAM.
2) Кодировка БД, в которую вставляется таблица (`ab`) — не cp1251.
3) От такой ошибки иногда помогает смена сопоставления на заглавной странице phpMyAdmin. Просто выберите из выпадающего списка «MySQL connection collation:» — cp1251_general_ci.
3 Ответ от ysl 2006-11-11 23:58:09 (изменено: ysl, 2006-11-12 00:09:19)
- ysl
- Редкий гость
- Неактивен
- Зарегистрирован: 2006-11-11
- Сообщений: 18
Re: #1064 ошибка при импорте дампа базы данных MySQL
3) От такой ошибки иногда помогает смена сопоставления на заглавной странице phpMyAdmin. Просто выберите из выпадающего списка «MySQL connection collation:» — cp1251_general_ci.
А можна поподробнее у меня phpMyAdmin — 2.9.1 rus
1) Тип движка БД в которую вы пытаетесь вставить дамп не MYISAM.
А можна поменять тип движка БД?
Да и для того чтобы вставить дамп нужно создать базу?
2) Кодировка БД, в которую вставляется таблица (`ab`) — не cp1251.
И кодировка базы помоему Russ UTF-8
4 Ответ от Lokki 2006-11-12 11:12:18
- Lokki
- Админ
- Неактивен
- Откуда: Москва
- Зарегистрирован: 2006-01-25
- Сообщений: 910
Re: #1064 ошибка при импорте дампа базы данных MySQL
ysl
Я бы порекомендовал во избежании подобных синтаксических ошибок при создании дампа обращать внимание на опцию «SQL compatibility mode» в блоке «SQL options» и выбирать MySQL40, если у запущен MySQL>4.x.x
Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)
5 Ответ от Hanut 2006-11-12 20:12:04
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: #1064 ошибка при импорте дампа базы данных MySQL
А можна поподробнее у меня phpMyAdmin — 2.9.1 rus
Индексная страница phpMyAdmin, в выпадающем списке «Сопоставление соединения с MySQL:» выберите cp1251_general_ci.
А можна поменять тип движка БД?
Да, можно. Но проще создать БД с тем движком, который нужен изначально.
Да и для того чтобы вставить дамп нужно создать базу?
Обязательно.
И кодировка базы помоему Russ UTF-8
Для того чтобы узнать в какой кодировке находится БД, в левом фрейме выберите её, в правом, в самом низу сетки отображающей таблицы увидете кодировку. При необходимости поменять её зайдите на вкладку «Операции». Там всё ясно и понятно.
6 Ответ от ysl 2006-11-13 01:20:15 (изменено: ysl, 2006-11-13 01:26:39)
- ysl
- Редкий гость
- Неактивен
- Зарегистрирован: 2006-11-11
- Сообщений: 18
Re: #1064 ошибка при импорте дампа базы данных MySQL
Для того чтобы узнать в какой кодировке находится БД, в левом фрейме выберите её, в правом, в самом низу сетки отображающей таблицы увидете кодировку. При необходимости поменять её зайдите на вкладку «Операции». Там всё ясно и понятно.
Это дамп а не база.
Я скопировал базу как есть всю папку, но она не работает, таблици видно ,но Ошибка
SQL-запрос: Правка
SHOW INDEX FROM `additions` ;
Ответ MySQL: Документация
#1033 — Incorrect information in file: ‘.abadditions.frm’
Что это?
7 Ответ от Hanut 2006-11-13 17:49:21
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: #1064 ошибка при импорте дампа базы данных MySQL
ysl
Перед импортом дампа необходимо создать БД, вот её кодировку и надо задать так, как надо.
Я скопировал базу как есть всю папку, но она не работает
Приехали.
То что вы делаете импортом дампа не называется и вставлять таким образом таблицы нельзя.
Читайте FAQ и справку данного портала по импорту БД. При возникновении затруднений, задавайте конкретные вопросы. Постараемся вам помочь.
8 Ответ от Lokki 2006-11-13 19:56:55
- Lokki
- Админ
- Неактивен
- Откуда: Москва
- Зарегистрирован: 2006-01-25
- Сообщений: 910
Re: #1064 ошибка при импорте дампа базы данных MySQL
ysl
Правила напоминаю: один топик — один вопрос. Последняя ошибка приведенная тобой уже не синтаксическая. И возникает она как уже модератор сказал не в результате импорта дампа.
#1033 — Incorrect information in file: ‘.abadditions.frm’
Что это?
Поврежден файл описания, содержащий структуру таблицы. Запусти базу данных, создай таблицу с точно такой же структурой — создашь корректный additions.frm, потом скопируй туда (в директорию ab) свои неповрежденные additions.MYD и additions.MYI (если у тебя таблица MyISAM). Должно сработать.
Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)
9 Ответ от quxx 2006-12-30 15:08:12
- quxx
- Редкий гость
- Неактивен
- Зарегистрирован: 2006-12-30
- Сообщений: 2
Re: #1064 ошибка при импорте дампа базы данных MySQL
здравствуйте, такая же точно ошибка…проблема вот в чем, заливаю базу через хостинг, т.е. phpadmin.masterhost.ru. нужна база на сайте. всё скомпелировал dump’ом…импортирую .sql-файл, получаю ошибку:
CREATE TABLE `be_groups` (
…
) ENGINE = InnoDB DEFAULT CHARSET = latin1;
Ответ MySQL:
#1064 — You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘DEFAULT CHARSET=latin1’ at line 29
в файле my.ini ставлю cp1251 кодировку, но база всё-равно создаётся с латин1…пробовал потом изменить на cp1251 по-другому, всё-равно пишет ошибку, только не с латин1, а с cp1251… что посоветуете?
10 Ответ от Lokki 2006-12-30 23:17:26
- Lokki
- Админ
- Неактивен
- Откуда: Москва
- Зарегистрирован: 2006-01-25
- Сообщений: 910
Re: #1064 ошибка при импорте дампа базы данных MySQL
quxx
При постановке вопроса ты забыл указать версию phpMyAdmin и MySQL-сервера. Если вручную удалить из дампа запись «DEFAULT CHARSET = latin1», ошибка наблюдается?
Если я правильно тебя понял: проблема возникает при импорте дампа на удаленный MySQL-сервер, который был ранее создан с помощью mysqldump на локальном MySQL-сервере.
Если это так, то причиной может старая версия удаленного MySQL-сервера: возможность задания кодировок на уровне сервера была реализована в MySQL4.1. Поэтому на старых версиях MySQL синтаксис «.. DEFAULT CHARSET = latin1;» будет вызывать #1064 ошибку.
Можно воспользоваться возможностью задавать режим совместимости, которую предоставляет phpMyAdmin посредством опции «SQL compatibility mode» в блоке «SQL options» на вкладке «Export».
Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)
11 Ответ от quxx 2007-01-01 23:27:15
- quxx
- Редкий гость
- Неактивен
- Зарегистрирован: 2006-12-30
- Сообщений: 2
Re: #1064 ошибка при импорте дампа базы данных MySQL
Lokki сказал:
quxx
При постановке вопроса ты забыл указать версию phpMyAdmin и MySQL-сервера. Если вручную удалить из дампа запись «DEFAULT CHARSET = latin1», ошибка наблюдается?Если я правильно тебя понял: проблема возникает при импорте дампа на удаленный MySQL-сервер, который был ранее создан с помощью mysqldump на локальном MySQL-сервере.
Если это так, то причиной может старая версия удаленного MySQL-сервера: возможность задания кодировок на уровне сервера была реализована в MySQL4.1. Поэтому на старых версиях MySQL синтаксис «.. DEFAULT CHARSET = latin1;» будет вызывать #1064 ошибку.
Можно воспользоваться возможностью задавать режим совместимости, которую предоставляет phpMyAdmin посредством опции «SQL compatibility mode» в блоке «SQL options» на вкладке «Export».
спасибо,…извиняюсь за неполноту вопроса. на локалке стоит MySQL 4.1..на удалёнке стоит версия 4.0…в ручную удаляю запись из дампа, всё-равно ошибка… разберёмся теперь )
12 Ответ от Blacktorn 2007-03-21 06:01:48
- Blacktorn
- Редкий гость
- Неактивен
- Зарегистрирован: 2007-03-21
- Сообщений: 2
Re: #1064 ошибка при импорте дампа базы данных MySQL
Доброго времени суток
возникла похожая проблема
phpMyAdmin — 2.10.0-dev
сервера: 4.1.3b-beta-nt
MySQL-клиента: 5.0.22
MySQL-кодировка: UTF-8 Unicode (utf8)
при восстановлении базы с дампа дает ошибку пишет такую ошибку
#1064 — You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘group’ at line 1
drop table if exists building;
drop table if exists department;
drop table if exists emploee;
drop table if exists ext_phone;
drop table if exists group;
drop table if exists int_phone;
drop table if exists position;
drop table if exists room;
13 Ответ от Hanut 2007-03-21 12:44:28
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: #1064 ошибка при импорте дампа базы данных MySQL
Blacktorn
group — является зарезервированным словом MySQL, поэтому должно быть заключено в косые кавычки.
14 Ответ от Blacktorn 2007-03-21 13:21:52
- Blacktorn
- Редкий гость
- Неактивен
- Зарегистрирован: 2007-03-21
- Сообщений: 2
Re: #1064 ошибка при импорте дампа базы данных MySQL
а по барабану не помогает… прописал по другому base.group (где base название базы) и все заработало
15 Ответ от Menart 2008-08-14 23:07:49
- Menart
- Редкий гость
- Неактивен
- Зарегистрирован: 2008-08-14
- Сообщений: 2
Re: #1064 ошибка при импорте дампа базы данных MySQL
у меня таже проблема версия mysql клиента в который я заливаю дамп 5.0.45 и там нельзя выбрать дженерал си , что мне делать?
вот ошибка
SQL-запрос:
-- phpMyAdmin SQL Dump
-- version 3.0.0-dev
-- http://www.phpmyadmin.net
--
-- Хост: *.*.0.11
-- Время создания: Авг 13 2008 г., 13:20
-- Версия сервера: 5.0.51
-- Версия PHP: 5.2.5
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
Ответ MySQL: Документация
#1193 - Unknown system variable 'SQL_MODE'
16 Ответ от Hanut 2008-08-15 00:58:49
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: #1064 ошибка при импорте дампа базы данных MySQL
Menart
Попробуйте закомментировать в дампе строку:
— SET SQL_MODE = «NO_AUTO_VALUE_ON_ZERO»;
17 Ответ от Menart 2008-09-04 01:12:52
- Menart
- Редкий гость
- Неактивен
- Зарегистрирован: 2008-08-14
- Сообщений: 2
Re: #1064 ошибка при импорте дампа базы данных MySQL
пробовал, он про следующую строку такую же ошибку выдает
18 Ответ от Hanut 2008-09-04 14:16:07
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: #1064 ошибка при импорте дампа базы данных MySQL
Menart
Сомневаюсь, что ошибка будет такая же.
Какая версия MySQL сервера на котором осуществляется импорт?
19 Ответ от SkyLine 32 2008-09-07 21:41:04
- SkyLine 32
- Новичок
- Неактивен
- Зарегистрирован: 2008-09-07
- Сообщений: 1
Re: #1064 ошибка при импорте дампа базы данных MySQL
Люди помогите!!! Я администратор сайта. Стоял у меня движок DataLife Engine 7.0 я обновил его до 7.2
Появились в админке баги, не мог юзеру поменять категорию или его послать в бан. В итоге я решил вернуть DataLife Engine 7.0 и случилось еще хуже. Теперь я могу с юзером делать что захочу, а вот добавить новость из админки не могу. Пишет
MySQL Error!
————————
The Error returned was:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘allow_comm=’1′, approve=’1′, allow_main=’1′, allow_rate=’1′, fixed=’1′, allow_br’ at line 1
Error Number:
1064
И окно с ошибками.
Кто мне поможет решить проблему?
20 Ответ от Hanut 2008-09-08 03:20:36
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: #1064 ошибка при импорте дампа базы данных MySQL
SkyLine 32
Вероятно при обновлении были изменены некоторые таблицы в БД и теперь они вызывают ошибки при работе с предыдущей версией скрипта. Попробуйте поискать у разработчика скрипт отката версий, или можно попробовать посмотреть на то какие таблицы были изменены при обновлении и вернуть их в первоночальное состояние.
21 Ответ от webv 2008-10-03 09:39:30
- webv
- Новичок
- Неактивен
- Зарегистрирован: 2008-01-12
- Сообщений: 1
Re: #1064 ошибка при импорте дампа базы данных MySQL
А, где можно узнать значения ошибок по их номеру , при работе с БД часто выскакивают? Спасибо.
22 Ответ от lostoffuture 2008-10-03 09:44:33
- lostoffuture
- Редкий гость
- Неактивен
- Зарегистрирован: 2008-10-02
- Сообщений: 7
Re: #1064 ошибка при импорте дампа базы данных MySQL
копируете полность текст ошибки и вставляете ее в поисковик, вам сразу выдаст кучу сайтов с похожими ворпосами и как правильно утсранить ощибку))))))
23 Ответ от Hanut 2008-10-03 14:26:49
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,723
Re: #1064 ошибка при импорте дампа базы данных MySQL
webv сказал:
А, где можно узнать значения ошибок по их номеру , при работе с БД часто выскакивают? Спасибо.
Обычно ошибки описательны, но здесь можно посмотреть описание, если выводится только код ошибки.
http://dev.mysql.com/doc/refman/5.0/en/ … dling.html
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Некоторые типы ошибок в работе с базой данных MySQL при импорте или экспорте базы данных.
Ошибка 1
При экспорте MySQL через phpMyAdmin возникала ошибка, которая приводила к невозможности выполнить сохранение база данных. Причина была в испортившихся таблицах, из-за которой и возникала ошибка.
Ошибка была следующего вида:
Не удалось создать резервную копию базы данных. Процесс завершился с ошибкой: ‘mysqldump: Got error: 1146: Table ‘site.wp_subscribe_reloaded_subscribers’ doesn’t exist when using LOCK TABLES
Решение
Через SSH зайти на VDS.
Использовать команду:
mysqlcheck -u MySQL_name -p MySQL_user_name
Ввести пароль от базы данных.
У меня был выведен список всех таблиц, где несуществующая таблица была показана с ошибкой. В самой базе данных MySQL её не было, а phpMyAdmin на неё все равно ругался.
MySQL_name.wp_statpress OK
MySQL_name.wp_subscribe_reloaded_subscribers
Error : Table ‘MySQL_name.wp_subscribe_reloaded_subscribers’ doesn’t exist
status : Operation failed
MySQL_name.wp_term_relationships OK
Ввести команду (подтвердить паролем):
Появится такая строка:
Нужно выбрать базу данных:
Показать таблицы в ней (Точка с запятой обязательна!):
Будут показаны все таблицы.
После этого удалил таблицу:
drop table wp_subscribe_reloaded_subscribers;
Появилась ошибка:
ERROR 1051 (42S02): Unknown table ‘wp_subscribe_reloaded_subscribers’
но при этом она была удалена и больше нигде не отображалась, а экспорт заработал.
Ошибка 2
Сообщение об ошибки возникло на CentOS с ISPmanager.
При создании базы данных с именем, которое когда-то существовало, возникала ошибка:
«Имя базы уже существует»
Имя базы было в таблице db в системной базе MySQL. Удаление записи оттуда решило эту проблему.
Ошибка 3
При импорте базы данных возникала следующая ошибка:
#1064 — You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘…..sql’ at line 1
В архиве базы данных находилось несколько файлов. Надо было разархивировать архив и заархивировать только файл базы данных.
Ошибка 4
You probably tried to upload a file that is too large. Please refer to documentation for a workaround for this limit.
Решение приведено статье ошибка при импорте в phpMyAdmin.
-
Offline
DKraev
<i>(aka gft)</i>
=> Cпециалист <=- Регистрация:
- 16.08.2008
- Сообщения:
- 1 627
- Симпатии:
- 219
- Пол:
- Мужской
Приветствую всех. За время моего пребывания на данном форуме довольно часто возникали вопросы по ошибкам при импорте/экспорте базы данных MySQL (далее БД).
Вопросы примерно такие:
- После переноса (импорта) БД на хостинг на сайте сбилась кодировка. На локальном сайте все нормально;
- При переносе (импорте) БД возникает ошибка #1064 или другая;
- Пропадает текст после переноса (импорта) БД.
- Как перенести базу с Denwer на хостинг (или наоборот)
- и т.д
Прежде чем публиковать подобный вопрос на форуме, настоятельно рекомендую прочитать данный пост полностью, и что самое главное — СДЕЛАТЬ все что здесь написано.
Большинство ошибок возникает именно из-за неправильного переноса, поэтому я опишу импорт/экспорт БД при помощи скрипта Sypex Dumper. Я буду описывать работу с Lite версией, с которой я успешно работаю уже больше трех лет. Хотел бы заметить что подобной информации полно в сети, однако у нас на форуме её нет. А так как большинство новичков при любой проблеме сразу идут сюда, а не в Google, то я решил написать этот небольшой мануальчик. Многим он поможет решить проблемы с переносом БД, а старожилов форума избавит от необходимости писать про Sypex Dumper снова и снова
В первую очередь скачиваем скрипт отсюда (utf-8, архив прикреплен к посту) либо с сайта разработчика (cp1251). Распаковываем архив. На выходе получим два файла — readme.txt (инструкция) и dumper.php (сам скрипт).
Экспорт БД с локального компьютера.
Я работаю на Denwer, но и для других должно быть точно так же по идее.
- Копируете файл dumper.php в корень сайта.
- Создаете новую папку, которую называете backup
- Набираете в браузере: www.adres_sayta.ru/dumper.php
- Вводите логин пользователя и пароль для базы данных, нажимаете «Применить»
- Чекбокс на «Backup/Создание резервной копии БД». Фильтр таблиц — оставляете пустым. Метод сжатия — GZip. Степень сжатия — 7. Нажимаете «Применить»
Наблюдаем, как весело бегут строчки вверх. Ваш дамп готов! Зайдите в ранее созданную папку backup, вы увидите архив примерно такой — amurka_2010-08-20_23-30.sql.gz — это и есть дамп БД.
Импорт БД на хостинг.
- Заливаете файл dumper.php в корень сайта на хостинг.
- Заливаете папку backup тоже в корень сайта. Права на папку — 777. Так же внутри данной папки будет лежать файл dumper.cfg.php — для него тоже выставляете 777
- Набираете в браузере: www.adres_sayta.ru/dumper.php
- Вводите логин пользователя и пароль для базы данных, нажимаете «Применить»
- Чекбокс на «Restore / Восстановление БД из резервной копии». БД — выбираете базу данных на хостинге. Файл — выбираете наш файл с дампом (пример — amurka_2010-08-20_23-30.sql.gz). Нажимаете «Применить».
Наш дамп имортируется на хост.
Перенос с хостинга на локалку выполняется аналогичным образом. Держать дампы на хостинге не рекомендую.
Ошибки.
Многие могут столкнуться с ошибкой «#2005: Unknown MySQL server host ‘имя’ (11004)» при импорте БД на хостинг. Это говорит о том, что неверно указан MySQL сервер. В dumper.php по умолчанию указан «localhost», на хостинге же может быть любой. Например — p1543.mysql.ihc.ru
Откройте файл dumper.php и в 34 строке найдите код:
-
define(‘DBHOST’, ‘localhost:3306’);
Вместо localhost:3306 впишите MySQL сервер вашего хостинга. Сохраните файл. Повторите попытку импорта.
———————————————-Несколько раз у меня не получалось залить базу на хост при помощи этого скрипта. Но это была проблема хостера. Решалось выставлением CHMOD 777 на папку www
———————————————-Я не рассматривал дополнительные настройки данного скрипта (кстати их довольно много). Данный мануал рассчитан на новичков, которые испытывают проблемы при переносе БД. Того что я написал достаточно для успешного переноса БД в 90% случаев. За более полной информацией — на сайт разработчика, либо в Google.
Вложения:
Последнее редактирование: 17.09.2010
-
Offline
woojin
Местный
Команда форума
=> Cпециалист <=- Регистрация:
- 31.05.2009
- Сообщения:
- 3 206
- Симпатии:
- 334
- Пол:
- Мужской
«+» тебе за описание
я приведу свой пример, немного по другому, но принцип то же
1. открываем phpMyAdmin
2. делаем дамп базы
3. потом в получевшемся файлике ищем такую строкуENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1, нас интересует выделенный фрагмент — эта строчка обычно идёт после функции создания таблицы т.е. CREATE TABLE IF NOT EXISTS
4. если не ясно в какой кодировке должна быть таблицы то этот выделенный фрагмент удаляем везде где он есть, сохраняем получившийся файл
5. импортируем дамп в другую базуP.S. если всё равно кякозяблики, то просто пере сохраняем файл с дампом в другой кодировке — меня этот метод ни когда ещё не подводил
-
Offline
mcsweb
Недавно здесь
- Регистрация:
- 25.01.2010
- Сообщения:
- 10
- Симпатии:
- 0
- Пол:
- Мужской
А вот нифига phpMyAdmin не вышло.
Ради науки решил перекинуть сайт с одного локального сервера на другой.
С ХАМРР на Денвер.
Как бы я не делал экспорт базу данных на ХАММРе в Денвере он не принимался.
В конце концов просто скопировал папку с таблицами с одного сервака на другой.
В результате сайт работает с ошибками.Буду пробовать скрипт от первого советчика.
Попробовал- результат тот же .
Хотя дампер.пхп отработал отлично.
Виднео что то в денвере не так совмещаетсяПоследнее редактирование: 23.08.2010
-
Offline
woojin
Местный
Команда форума
=> Cпециалист <=- Регистрация:
- 31.05.2009
- Сообщения:
- 3 206
- Симпатии:
- 334
- Пол:
- Мужской
интересно по чему не сработал ни один ни второй вариант?!
есть вариант воспользоваться компонентом http://www.akeebabackup.com/ это следующая версия joomlapack
в описании почитай про совместимость компонента с версиями php
-
Offline
VashMaster
Недавно здесь
- Регистрация:
- 19.08.2010
- Сообщения:
- 19
- Симпатии:
- 1
- Пол:
- Мужской
Тоже всегда делаю всё аналогично посту ТС. Пользуюсь утилиткой дампер. Проблем обычно не было. Но вот при переносе сайта на Joomla почему-то появились
Сделал дамп, потом этим же дамперов восстановил дамп. Но всё равно появились кракозябры.
Проблему удалось решить только с помощью добавления команды:-
mysql_query(«SET NAMES cp1251»);
в файле index.php на фронт энде и бекенде. Добавил после вызова функции
-
$mainframe->initialise();
Получилось примерно так:
-
$mainframe->initialise();
-
mysql_query(«SET NAMES cp1251»);
Только тогда всё стало ОК. Если не поможет, то, возможно, у вас используется кодировка UTF. Пробуйте…
p.s. При работе с «дампером» редко бывают проблемы с кодировкой, но вот случилось Видимо, я не зря недолюбливаю Джумлу
-
Offline
DKraev
<i>(aka gft)</i>
=> Cпециалист <=- Регистрация:
- 16.08.2008
- Сообщения:
- 1 627
- Симпатии:
- 219
- Пол:
- Мужской
Модераторы, закрепите тему. Подобные вопросы продолжают сыпаться. До второй страницы (куда уже спустилась эта тема) пользователям дочитывать уже лень… По всей видимости что такое поиск они тоже не знают…
-
Offline
Владимир.
Недавно здесь
- Регистрация:
- 25.02.2011
- Сообщения:
- 1
- Симпатии:
- 0
- Пол:
- Мужской
Не хотел ставиться русский язык, вылезали кракозябры. Как я только не пересохранял файлы и базы ничего не помогало… Снес снова все и сделал по главной инструкции через Sypex и чудо таки случилось!!!
Хочу добавить:
При создании на локальном компьютере дампа используем логин и пароль базы данных, созданной в самом начале. (не путать с логином для входа в админку джумлы)
При запуске на хостинге необходимо указать логин и пароль к базе данных, лежащей у хостера.
Дальше необходимо просто перенести все файлы с локального компьютера на сервер хостера и поправить файл configuration.php
А еще у меня возник вопрос относительно приключений с кодировками…
Не может ли сама операционка выдавать эти сюрпризы?
Когда я первый раз заливал этот же сайт на хостинг у меня все прошло гладко и не возникло проблем.
После того как сайт сломали, я переустановил винду, денвер и джумлу на 1.5.22. Вот и думаю, что именно повлияло на неправильное отображение символов… -
Offline
DKraev
<i>(aka gft)</i>
=> Cпециалист <=- Регистрация:
- 16.08.2008
- Сообщения:
- 1 627
- Симпатии:
- 219
- Пол:
- Мужской
Не знаю, работал и на XP и на семёрке — проблем не возникало. Но может быть потому что я всегда пользуюсь Sypex… Чаше всего траблы вылезают именно на хостинге… НА локалке, как уже сказал, всегда всё ровно…
-
Offline
oceay
Недавно здесь
- Регистрация:
- 12.09.2011
- Сообщения:
- 1
- Симпатии:
- 0
- Пол:
- Мужской
Спасибо огромное, gft !!!! Сначала многое кажется непонятным, но начинаешь делать согласно инструкции и всё получается само собой. Ещё раз спасибо!
-
Offline
woojin
Местный
Команда форума
=> Cпециалист <=- Регистрация:
- 31.05.2009
- Сообщения:
- 3 206
- Симпатии:
- 334
- Пол:
- Мужской
это ты админу отправь, я не могу этого сделать!!!
Поделиться этой страницей
Видимо не правильно вставляю в код — ошибка остается.
Могли бы Вы указать куда именно Спасибо!
Это часть кода:
— phpMyAdmin SQL Dump
— version 2.6.1
— http://www.phpmyadmin.net
—
— Хост: localhost
— Время создания: Июн 18 2009 г., 13:30
— Версия сервера: 5.0.45
— Версия PHP: 5.2.4
—
— БД: `project`
—
— ———————————————————
—
— Структура таблицы `jos_banner`
—
CREATE TABLE `jos_banner` (
`bid` int(11) NOT NULL auto_increment,
`cid` int(11) NOT NULL default ‘0’,
`type` varchar(30) NOT NULL default ‘banner’,
`name` varchar(255) NOT NULL default »,
`alias` varchar(255) NOT NULL default »,
`imptotal` int(11) NOT NULL default ‘0’,
`impmade` int(11) NOT NULL default ‘0’,
`clicks` int(11) NOT NULL default ‘0’,
`imageurl` varchar(100) NOT NULL default »,
`clickurl` varchar(200) NOT NULL default »,
`date` datetime default NULL,
`showBanner` tinyint(1) NOT NULL default ‘0’,
`checked_out` tinyint(1) NOT NULL default ‘0’,
`checked_out_time` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`editor` varchar(50) default NULL,
`custombannercode` text,
`catid` int(10) unsigned NOT NULL default ‘0’,
`description` text NOT NULL,
`sticky` tinyint(1) unsigned NOT NULL default ‘0’,
`ordering` int(11) NOT NULL default ‘0’,
`publish_up` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`publish_down` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`tags` text NOT NULL,
`params` text NOT NULL,
PRIMARY KEY (`bid`),
KEY `viewbanner` (`showBanner`),
KEY `idx_banner_catid` (`catid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
—
— Дамп данных таблицы `jos_banner`
—
— ———————————————————
—
— Структура таблицы `jos_bannerclient`
—
CREATE TABLE `jos_bannerclient` (
`cid` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default »,
`contact` varchar(255) NOT NULL default »,
`email` varchar(255) NOT NULL default »,
`extrainfo` text NOT NULL,
`checked_out` tinyint(1) NOT NULL default ‘0’,
`checked_out_time` time default NULL,
`editor` varchar(50) default NULL,
PRIMARY KEY (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
—
— Дамп данных таблицы `jos_bannerclient`
—
— ———————————————————
—
— Структура таблицы `jos_bannertrack`
—
CREATE TABLE `jos_bannertrack` (
`track_date` date NOT NULL,
`track_type` int(10) unsigned NOT NULL,
`banner_id` int(10) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
—
— Дамп данных таблицы `jos_bannertrack`
—
— ———————————————————
—
— Структура таблицы `jos_categories`
—
CREATE TABLE `jos_categories` (
`id` int(11) NOT NULL auto_increment,
`parent_id` int(11) NOT NULL default ‘0’,
`title` varchar(255) NOT NULL default »,
`name` varchar(255) NOT NULL default »,
`alias` varchar(255) NOT NULL default »,
`image` varchar(255) NOT NULL default »,
`section` varchar(50) NOT NULL default »,
`image_position` varchar(30) NOT NULL default »,
`description` text NOT NULL,
`published` tinyint(1) NOT NULL default ‘0’,
`checked_out` int(11) unsigned NOT NULL default ‘0’,
`checked_out_time` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`editor` varchar(50) default NULL,
`ordering` int(11) NOT NULL default ‘0’,
`access` tinyint(3) unsigned NOT NULL default ‘0’,
`count` int(11) NOT NULL default ‘0’,
`params` text NOT NULL,
PRIMARY KEY (`id`),
KEY `cat_idx` (`section`,`published`,`access`),
KEY `idx_access` (`access`),
KEY `idx_checkout` (`checked_out`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
—
— Дамп данных таблицы `jos_categories`
—
INSERT INTO `jos_categories` VALUES (1, 0, ‘Администраторы’, », ‘2009-04-09-12-50-24’, », ‘com_contact_details’, ‘left’, », 1, 0, ‘0000-00-00 00:00:00’, NULL, 1, 0, 0, »)
На днях я переносил один из своих сайтов на новый хостинг и столкнулся с проблемой. Подробно о том, как перенести сайт на другой хостинг я расскажу в одной из следующих статей, а пока расскажу о самой проблеме и ее решении.
Файлы сайта я скопировал быстро, сделал экспорт базы данных со старого хостинга, но при попытке импортировать таблицы в базу на новом хостинге возникла ошибка в My SQL вот такого вида:
Ошибка
SQL-запрос:
— — Дамп данных таблицы `rich_blc_instances` — INSERT INTO `rich_blc_instances` (`instance_id`, `link_id`, `container_id`, `container_type`, `link_text`, `parser_type`, `container_field`, `link_context`, `raw_url`) VALUES (1, 1, 1, ‘blogroll’, ‘Документация’, ‘url_field’, ‘link_url’, », ‘http://codex.wordpress.org/Заглавная_страница’), (2, 2, 2, ‘blogroll’, ‘Блог WordPress’, ‘url_field’, ‘link_url’, », ‘http://wordpress.org/news/’), (3, 3, 3, ‘blogroll’, ‘Форумы поддержки’, ‘url_field’, ‘link_url’, », ‘http://ru.forums.wordpress.org/’), (4, 4, 4, ‘blogroll’, ‘Плагины’, ‘url_field’, ‘link_url’, », ‘http://wordpress.org/extend/plugins/’), (5, 5, 5, ‘blogroll’, ‘Темы’, ‘url_field’, ‘link_url’, », ‘http://wordpress.org/extend/themes/’), (6, 6, 6, ‘blogroll’, ‘Обратная связь’, ‘url_field’, ‘link_url’, », ‘http://ru.forums.wordpress.org/forum/20’), (7, 7, 7, ‘blogroll’, ‘Планета WordPr[…]
Ответ MySQL:
#1062 — Duplicate entry ‘1’ for key ‘PRIMARY’
Так как в базах данных я полный чайник, пришлось копаться в интернете в поисках решения. На форумах довольно много записей от людей с подобной проблемой, но нигде нет четкого ответа – сделай вот так и так.
В общих чертах я проблему понял, но вот как ее решить было неясно. На всех форумах, где встречалось описание подобной ошибки, люди писали, что она возникает при попытке добавить записи из одной базы данных в уже существующую другую.
Но я импортировал базу данных в пустые таблицы, более того, таблицы создавались в процессе импорта.
Решил проблему с ошибкой «#1062 — Duplicate entry ‘1’ for key ‘PRIMARY’» следующим образом:
Заменил в таблицах базы данных команду INSERT INTO на REPLACE INTO. В тексте ошибки, который я привел выше вы можете посмотреть в каком месте таблицы располагаются эти слова (выделил жирным).
По умолчанию, с помощью директивы insert база пыталась вставить значения в таблицу, но почему-то, находила дублированный key ‘PRIMARY’ и не могла вставить данные (как она их находила, я так и не разобрался). Директива replace заставила базу заменять данные при совпадении значений, не обращая внимания на прошлые записи.
Заменить эту директиву можно открыв сам файл базы данных с помощью текстового редактора – эта команда стоит перед блоком каждой таблицы. Открываете базу данных в текстовом редакторе, например, Akelpad и меняете все команды INSERT INTO на REPLACE INTO.
В моем же случае, получилось сделать проще – я по новой сделал экспорт таблицы на старом хостинге и в настройках экспорта установил этот самый REPLACE вместо INSERT.