Mysql ошибка при импорте

#1064 ошибка при импорте дампа базы данных MySQL (Страница 1) — MySQL & phpMyAdmin — Форум PHP-MyAdmin.RU — phpMyAdmin по-русски

Страницы 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
  • 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
  • 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
  • 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
  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,723

Re: #1064 ошибка при импорте дампа базы данных MySQL

ysl

Перед импортом дампа необходимо создать БД, вот её кодировку и надо задать так, как надо.

Я скопировал базу как есть всю папку, но она не работает

Приехали. sad
То что вы делаете импортом дампа не называется и вставлять таким образом таблицы нельзя.

Читайте FAQ и справку данного портала по импорту БД. При возникновении затруднений, задавайте конкретные вопросы. Постараемся вам помочь.

8 Ответ от Lokki 2006-11-13 19:56:55

  • Lokki
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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.


  1. DKraev

    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, но и для других должно быть точно так же по идее.

    1. Копируете файл dumper.php в корень сайта.
    2. Создаете новую папку, которую называете backup
    3. Набираете в браузере: www.adres_sayta.ru/dumper.php
    4. Вводите логин пользователя и пароль для базы данных, нажимаете «Применить»
    5. Чекбокс на «Backup/Создание резервной копии БД». Фильтр таблиц — оставляете пустым. Метод сжатия — GZip. Степень сжатия — 7. Нажимаете «Применить»

    Наблюдаем, как весело бегут строчки вверх. Ваш дамп готов! Зайдите в ранее созданную папку backup, вы увидите архив примерно такой — amurka_2010-08-20_23-30.sql.gz — это и есть дамп БД.

    Импорт БД на хостинг.

    1. Заливаете файл dumper.php в корень сайта на хостинг.
    2. Заливаете папку backup тоже в корень сайта. Права на папку — 777. Так же внутри данной папки будет лежать файл dumper.cfg.php — для него тоже выставляете 777
    3. Набираете в браузере: www.adres_sayta.ru/dumper.php
    4. Вводите логин пользователя и пароль для базы данных, нажимаете «Применить»
    5. Чекбокс на «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 строке найдите код:

    1. define(‘DBHOST’, ‘localhost:3306’);

    Вместо localhost:3306 впишите MySQL сервер вашего хостинга. Сохраните файл. Повторите попытку импорта.
    ———————————————-

    Несколько раз у меня не получалось залить базу на хост при помощи этого скрипта. Но это была проблема хостера. Решалось выставлением CHMOD 777 на папку www
    ———————————————-

    Я не рассматривал дополнительные настройки данного скрипта (кстати их довольно много). Данный мануал рассчитан на новичков, которые испытывают проблемы при переносе БД. Того что я написал достаточно для успешного переноса БД в 90% случаев. За более полной информацией — на сайт разработчика, либо в Google.

    Вложения:

    Последнее редактирование: 17.09.2010

  2. woojin

    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. если всё равно кякозяблики, то просто пере сохраняем файл с дампом в другой кодировке — меня этот метод ни когда ещё не подводил

  3. mcsweb

    Offline

    mcsweb

    Недавно здесь

    Регистрация:
    25.01.2010
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской

    А вот нифига phpMyAdmin не вышло.

    Ради науки решил перекинуть сайт с одного локального сервера на другой.
    С ХАМРР на Денвер.
    Как бы я не делал экспорт базу данных на ХАММРе в Денвере он не принимался.
    В конце концов просто скопировал папку с таблицами с одного сервака на другой.
    В результате сайт работает с ошибками.

    Буду пробовать скрипт от первого советчика.

    Попробовал- результат тот же .
    Хотя дампер.пхп отработал отлично.
    Виднео что то в денвере не так совмещается

    Последнее редактирование: 23.08.2010

  4. woojin

    Offline

    woojin

    Местный
    Команда форума
    => Cпециалист <=

    Регистрация:
    31.05.2009
    Сообщения:
    3 206
    Симпатии:
    334
    Пол:
    Мужской

    интересно по чему не сработал ни один ни второй вариант?!

    есть вариант воспользоваться компонентом http://www.akeebabackup.com/ это следующая версия joomlapack

    в описании почитай про совместимость компонента с версиями php

  5. Offline

    VashMaster

    Недавно здесь

    Регистрация:
    19.08.2010
    Сообщения:
    19
    Симпатии:
    1
    Пол:
    Мужской

    Тоже всегда делаю всё аналогично посту ТС. Пользуюсь утилиткой дампер. Проблем обычно не было. Но вот при переносе сайта на Joomla почему-то появились ;)

    Сделал дамп, потом этим же дамперов восстановил дамп. Но всё равно появились кракозябры.
    Проблему удалось решить только с помощью добавления команды:

    1. mysql_query(«SET NAMES cp1251»);

    в файле index.php на фронт энде и бекенде. Добавил после вызова функции

    1. $mainframe->initialise();

    Получилось примерно так:

    1. $mainframe->initialise();
    2. mysql_query(«SET NAMES cp1251»);

    Только тогда всё стало ОК. Если не поможет, то, возможно, у вас используется кодировка UTF. Пробуйте…

    p.s. При работе с «дампером» редко бывают проблемы с кодировкой, но вот случилось ;) Видимо, я не зря недолюбливаю Джумлу ;)


  6. DKraev

    Offline

    DKraev

    <i>(aka gft)</i>
    => Cпециалист <=

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    219
    Пол:
    Мужской

    Модераторы, закрепите тему. Подобные вопросы продолжают сыпаться. До второй страницы (куда уже спустилась эта тема) пользователям дочитывать уже лень… По всей видимости что такое поиск они тоже не знают…

  7. Offline

    Владимир.

    Недавно здесь

    Регистрация:
    25.02.2011
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской

    Не хотел ставиться русский язык, вылезали кракозябры. Как я только не пересохранял файлы и базы ничего не помогало… Снес снова все и сделал по главной инструкции через Sypex и чудо таки случилось!!! :yahoo:

    Хочу добавить:

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

    При запуске на хостинге необходимо указать логин и пароль к базе данных, лежащей у хостера.

    Дальше необходимо просто перенести все файлы с локального компьютера на сервер хостера и поправить файл configuration.php

    А еще у меня возник вопрос относительно приключений с кодировками…
    Не может ли сама операционка выдавать эти сюрпризы?
    Когда я первый раз заливал этот же сайт на хостинг у меня все прошло гладко и не возникло проблем.
    После того как сайт сломали, я переустановил винду, денвер и джумлу на 1.5.22. Вот и думаю, что именно повлияло на неправильное отображение символов…


  8. DKraev

    Offline

    DKraev

    <i>(aka gft)</i>
    => Cпециалист <=

    Регистрация:
    16.08.2008
    Сообщения:
    1 627
    Симпатии:
    219
    Пол:
    Мужской

    Не знаю, работал и на XP и на семёрке — проблем не возникало. Но может быть потому что я всегда пользуюсь Sypex… Чаше всего траблы вылезают именно на хостинге… НА локалке, как уже сказал, всегда всё ровно…

  9. Offline

    oceay

    Недавно здесь

    Регистрация:
    12.09.2011
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской

    Спасибо огромное, gft !!!! Сначала многое кажется непонятным, но начинаешь делать согласно инструкции и всё получается само собой. Ещё раз спасибо!

  10. woojin

    Offline

    woojin

    Местный
    Команда форума
    => Cпециалист <=

    Регистрация:
    31.05.2009
    Сообщения:
    3 206
    Симпатии:
    334
    Пол:
    Мужской

    это ты админу отправь, я не могу этого сделать!!!

Поделиться этой страницей


Форумы Joomla! CMS

Видимо не правильно вставляю в код — ошибка остается.

Могли бы Вы указать куда именноsmile Спасибо!

Это часть кода:

— 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.

Карта Tinkoff Black

Понравилась статья? Поделить с друзьями:
  • Mysql ошибка 2006
  • Mysql ошибка 2002
  • Mysql ошибка 1406
  • Mysql ошибка 1241
  • Mysql ошибка 1146 как исправить