Автор Тема: Переезд. Возникает ошибка при импорте БД  (Прочитано 3351 раз)

17 Февраль 2014, 00:09:12
  • Гость
Доброго вечера!
Переезжаем на нормальный хостинг, но при импорте базы возникает ошибка:
Ошибка
SQL-запрос:
--
-- База данных: `cp21_klad`
--
CREATE DATABASE `cp21_klad` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Ответ MySQL: Документация
#1044 - Access denied for user 'klad-new'@'localhost' to database 'cp21_klad'

Понимаю, что ему вроде бы не нравится, что разные имена пользователей и пароли. Но как обойти эту ошибку и установить базу?
17 Февраль 2014, 10:47:11
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Перед импортом нужно создать базу и пользователя, который имеет доступ к этой базе.
Дайте разрешение пользователю 'klad-new' для работы с бд.
17 Февраль 2014, 12:16:59
Ответ #2
  • Гость
база есть, пользователь для нее тоже есть. но имя базы на новом хосте отличается от имени базы, которую я хочу установить. так же и с пользователями.

где устанавливаются права для пользователя бд?

спасибо за помощь-)
17 Февраль 2014, 12:32:42
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Если у вас есть пользователь с правами создания таблиц, то при импорте через phpmyadmin проблем не должно быть.
Цитировать
Access denied for user 'klad-new'@'localhost' to database 'cp21_klad'
Но по вашей ошибке, пользователь "klad-new" не имеет таких прав. Создайте такого пользователя в панели хостинга, потом добавьте его к созданной базе данных "cp21_klad".
17 Февраль 2014, 13:33:09
Ответ #4
  • Гость
пользователь создан в сПанеле.
Но база "cp21_klad" - это импортируемая база, которую я хочу установить. И пока ее нет на хостинге, я ведь не могу установить пользователя на нее.
Создать базу с таким же именем так же не могу, т.к. хостинг добавляет свой личный префикс, и имя получается не "cp21_klad", а "klad-new_cp21_klad"
17 Февраль 2014, 14:14:44
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если вы импортируете дамп в phpmyadmin, то удалите из него запрос на создание базы данных, строку:
CREATE DATABASE ....Перед импортом создайте базу данных и импортируйте дамп выбрав нужную базу данных.
17 Февраль 2014, 14:49:55
Ответ #6
  • Гость
Пожалуйста, если у вас есть возможность, опишите, где именно удаляется этот запрос?

Опишу процесс, как я делаю:
1) Через phpmyadmin на старом хостинге экспортирую бд со сжатием.
2) На новом хосте создается новая база и пользователь
3) На новом хосте через phpmyadmin выбираю "Импорт", там через "обзор" выбираю файл с бд и закачиваю.
4) После появляется ошибка.

В настройках импорта не нашла, где отключить запрос на создание базы.
17 Февраль 2014, 16:25:50
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Удалять в файле sql нужно. Файл скачиваете и потом открываете и удаляете строки для создания бд.
17 Февраль 2014, 16:55:22
Ответ #8
  • Гость
Удалять в файле sql нужно. Файл скачиваете и потом открываете и удаляете строки для создания бд.

Нашла, удалила, сохранила, заливаю снова, и опять ошибка:

-- Структура таблицы `ps_access`
--
CREATE TABLE IF NOT EXISTS `ps_access` (
`id_profile` int( 10 ) unsigned NOT NULL ,
`id_tab` int( 10 ) unsigned NOT NULL ,
`view` int( 11 ) NOT NULL ,
`add` int( 11 ) NOT NULL ,
`edit` int( 11 ) NOT NULL ,
`delete` int( 11 ) NOT NULL ,
PRIMARY KEY ( `id_profile` , `id_tab` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

Ответ MySQL: Документация
#1046 - No database selected
17 Февраль 2014, 17:07:43
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105673
  • Репутация: +39553/-0
    • Просмотр профиля
    • Webstudio UwK
1. В настройках импорта можно отметить, что не нужно добавлять создание базы данных.
2. Ошибка импорта
#1046 - No database selected говорит о том, что вы не выбрали базу данных в которой пытаетесь создать таблицы.
Cоздание интернет сайтов Webstudio UwK
17 Февраль 2014, 17:43:30
Ответ #10
  • Гость
1) я не могу найти где именно есть эти настройки. В самой вкладке Импорта нет такого выбора, если пройти в Настройки - Импорт, то тоже не нашла где убрать создание БД, ннигде и не предлагается создания-(
2) а как ее выбрать-то? я делаю импорт базы, при котором мне предлагают выбрать файл с компа, я выбираю дамб и нажимаю ОК. Все, никакую базу из имеющихся уже мне выбрать не предлагают.
17 Февраль 2014, 22:17:04
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
На хостинге, нажать на phpmyadmin и выбрать в нем базу.
Только после этого жать на импорт.
18 Февраль 2014, 11:17:20
Ответ #12
  • Гость
На хостинге, нажать на phpmyadmin и выбрать в нем базу.
Только после этого жать на импорт.

Сделала, но ошибка все равно появилась:
Ошибка

SQL-запрос:

-- -- Дамп данных таблицы `ps_access` -- INSERT INTO `ps_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) VALUES (1, 0, 1, 1, 1, 1), (1, 1, 1, 1, 1, 1), (1, 2, 0, 0, 0, 0), (1, 3, 0, 0, 0, 0), (1, 4, 0, 0, 0, 0), (1, 5, 1, 1, 1, 1), (1, 6, 0, 0, 0, 0), (1, 7, 1, 1, 1, 1), (1, 8, 0, 0, 0, 0), (1, 9, 1, 1, 1, 1), (1, 10, 1, 1, 1, 1), (1, 11, 1, 1, 1, 1), (1, 12, 0, 0, 0, 0), (1, 13, 1, 1, 1, 1), (1, 14, 1, 1, 1, 1), (1, 15, 1, 1, 1, 1), (1, 16, 1, 1, 1, 1), (1, 17, 0, 0, 0, 0), (1, 18, 0, 0, 0, 0), (1, 19, 1, 1, 1, 1), (1, 20, 1, 1, 1, 1), (1, 21, 1, 1, 1, 1), (1, 22, 1, 1, 1, 1), (1, 23, 1, 1, 1, 1), (1, 24, 1, 1, 1, 1), (1, 25, 1, 1, 1, 1), (1, 26, 1, 1, 1, 1), (1, 27, 1, 1, 1, 1), (1, 28, 1, 1, 1, 1), (1, 29, 1, 1, 1, 1), (1, 30, 1, 1, 1, 1), (1, 31, 0, 0, 0, 0), (1, 32, 1, 1, 1, 1), (1, 33, 1, 1, 1, 1), (1, 34, 1, 1, 1, 1), (1, 35, 1, 1, 1, 1), (1, 36, 1, 1, 1, 1), (1, 37, 1, 1, 1, 1), (1, 38, 0, 0, 0, 0), (1, 39, 1, 1, 1, 1), (1, 40, 1, 1, 1, 1),[...]

Ответ MySQL: Документация
#1062 - Duplicate entry '1-0' for key 'PRIMARY'
18 Февраль 2014, 11:37:03
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Это все последствия вашего хостинга. Нормального файла импорта бд на нем не сделать. Теперь только в ручную исправлять.
Для таблицы ps_access добавление данных
INSERT INTO ....
можно пропустить или заменить на
REPLACE INTOэто позволит перезаписать данные первичного или уникального ключа.
Может вы делаете импорт данных в уже существующую таблицу с данными, поэтому и возникает ошибка.
Тогда нужно предварительно очистить таблицу или удалить, если  есть запрос
CREATE TABLE...в дампе.
18 Февраль 2014, 11:46:03
Ответ #14
  • Гость
Это именно дамп получился кривой? Если надо какие-то параметры при экспорте установить другие, что б этой ошибки не было, то лучше уж экспорт с логола сделаю еще раз.
Или эту ошибку в любом случае вручную ковырять?