heidisql. При импорте нескольких таблиц: Ошибка SQL (1813): Tablespace '`01tst`.`00_tbl_00`' exists

294
06 марта 2017, 10:52

Используется
MySQL 5,7 - x6,4
Open Server - последний

Папки с БД и таблицами располагались сначала в ПАПКА 1. Я перенастроил сервер, чтобы папки с БД и таблицами располагались в ПАПКА 2.

  1. Когда сервер работал с папками в ПАПКА 1, я выполнил экспорт базы данных "01tst" с её таблицами.
  2. Переключил сервер на ПАПКА 2.
  3. Выполняю импорт базы данных "01tst" с её таблицами.

# ПРОБЛЕМА 1
ОШИБКА
При импорте нескольких таблиц: Ошибка SQL (1813): Tablespace '01tst.00_tbl_00' exists.

Где-то прочитал, что проблему можно убрать

DROP TABLE 01tst.00_tbl_00
или
DROP TABLE IF EXISTS 01tst.00_tbl_00

не помогло

В ПАПКА 2 ("...MySQL-5.7-x64\01tst\") находился файл "00_tbl_00.ibd" и вроде ещё какой-то не обратил внимание... Вроде "db.opt", но не *.frm...
Я удалил файлы "00_tbl_00.ibd" и "db.opt"(предположительно).

ПРОБЛЕМА 1. РЕШЕНИЕ 1 (ЧАСТИЧНОЕ)
1. Импортирую БД.
2. Программа создаёт папку БД с файлами: *.ibd и db.opt.
3. Выдаёт ошибку Пример "Ошибка SQL (1813): Tablespace '01tst.00_tbl_00' exists." или что-то подобное.
4. Удаляю из директории папку с файлами импортируемой БД, которая выдаёт ошибку.
5. Перезагружаю сервер.
6. Провожу процедуру импорта.
Импортируются все таблицу, все таблицу, но в некоторых таблицах не все строки. Около 10-15% строк нет в импортированных таблицах... Ну да ладно... потерплю..

# ПРОБЛЕМА 2
Используя решение ПРОБЛЕМА 1. РЕШЕНИЕ 1 (ЧАСТИЧНОЕ) так добавил три БД. Потом стала появляться снова ошибка. см .скрин

Пример кода

-- --------------------------------------------------------
-- Хост:                         127.0.0.1
-- Версия сервера:               5.7.16 - MySQL Community Server (GPL)
-- Операционная система:         Win64
-- HeidiSQL Версия:              9.4.0.5125
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

-- Дамп структуры базы данных tst_rb_mn_02
CREATE DATABASE IF NOT EXISTS `tst_rb_mn_02` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `tst_rb_mn_02`;
-- Дамп структуры для таблица tst_rb_mn_02.002_tst_01_vr_04_tbl_frm1_ssl
CREATE TABLE IF NOT EXISTS `002_tst_01_vr_04_tbl_frm1_ssl` (
  `id_tma_ssl` int(11) DEFAULT NULL,
  `name_ssl` text,
  `url_ssl` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- Дамп данных таблицы tst_rb_mn_02.002_tst_01_vr_04_tbl_frm1_ssl: ~3 rows (приблизительно)
/*!40000 ALTER TABLE `002_tst_01_vr_04_tbl_frm1_ssl` DISABLE KEYS */;
INSERT INTO `002_tst_01_vr_04_tbl_frm1_ssl` (`id_tma_ssl`, `name_ssl`, `url_ssl`) VALUES
    (1, 'name_ssl_04_tbl_zp_1 ', 'url_ssl_04_tbl_zp_1 '),
    (2, 'name_ssl_04_tbl_zp_2 ', 'url_ssl_04_tbl_zp_2 '),
    (3, 'name_ssl_04_tbl_zp_3 ', 'url_ssl_04_tbl_zp_3 ');
/*!40000 ALTER TABLE `002_tst_01_vr_04_tbl_frm1_ssl` ENABLE KEYS */;
-- Дамп структуры для таблица tst_rb_mn_02.002_tst_02_vr_07_tbl_frm1_ssl
CREATE TABLE IF NOT EXISTS `002_tst_02_vr_07_tbl_frm1_ssl` (
  `id_tma_ssl` text,
  `name_ssl` text,
  `url_ssl` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- Дамп данных таблицы tst_rb_mn_02.002_tst_02_vr_07_tbl_frm1_ssl: ~3 rows (приблизительно)
/*!40000 ALTER TABLE `002_tst_02_vr_07_tbl_frm1_ssl` DISABLE KEYS */;
INSERT INTO `002_tst_02_vr_07_tbl_frm1_ssl` (`id_tma_ssl`, `name_ssl`, `url_ssl`) VALUES
    ('frmA_A', 'name_ssl_07_tbl_zp_1 ', 'url_ssl_07_tbl_zp_1 '),
    ('frmA_B', 'name_ssl_07_tbl_zp_2 ', 'url_ssl_07_tbl_zp_2 '),
    ('frmA_C', 'name_ssl_07_tbl_zp_3 ', 'url_ssl_07_tbl_zp_3 ');
/*!40000 ALTER TABLE `002_tst_02_vr_07_tbl_frm1_ssl` ENABLE KEYS */;
-- Дамп структуры для таблица tst_rb_mn_02.002_tst_03_vr_10_tbl_frm1_ssl
CREATE TABLE IF NOT EXISTS `002_tst_03_vr_10_tbl_frm1_ssl` (
  `id_tma_ssl` text,
  `name_ssl` text,
  `url_ssl` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- Дамп данных таблицы tst_rb_mn_02.002_tst_03_vr_10_tbl_frm1_ssl: ~3 rows (приблизительно)
/*!40000 ALTER TABLE `002_tst_03_vr_10_tbl_frm1_ssl` DISABLE KEYS */;
INSERT INTO `002_tst_03_vr_10_tbl_frm1_ssl` (`id_tma_ssl`, `name_ssl`, `url_ssl`) VALUES
    ('frmA_01', 'name_ssl_10_tbl_zp_1 ', 'url_ssl_10_tbl_zp_1 '),
    ('frmA_02', 'name_ssl_10_tbl_zp_2 ', 'url_ssl_10_tbl_zp_2 '),
    ('frmA_03', 'name_ssl_10_tbl_zp_3 ', 'url_ssl_10_tbl_zp_3 ');
/*!40000 ALTER TABLE `002_tst_03_vr_10_tbl_frm1_ssl` ENABLE KEYS */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

Вопрос.
1. Как от неё избавиться ошибки - Ошибка SQL (1813)?
2. Как устранить # ПРОБЛЕМА 2 ?

Answer 1

Удалите БД перед загрузкой дампа. Или добавьте в начало дампа

DROP DATABASE 01tst;

В будущем - если дамп делается не для ПОПОЛНЕНИЯ другой БД данными из дампируемой, добавляйте в комстроку mysqldump ключ --add-drop-database.

READ ALSO
Отправлять на почту с intent

Отправлять на почту с intent

На данный момент у меня есть кнопка, по нажатию на которую я могу делать вызов

312
Вызов метода java

Вызов метода java

Доброго времени суток! На днях озадачился вопросом: как можно сделать вызов метода через другую переменную? То есть, например, пользователь...

445
Повторное выполнение Runnable в потоке

Повторное выполнение Runnable в потоке

Есть класс Worker который содержит в себе очередь и при добавлении в очередь новой строки должен выполнить некую работу

231
Тратятся ли ресурсы на элементы layout, которые не видны (не влезают) на экран?

Тратятся ли ресурсы на элементы layout, которые не видны (не влезают) на экран?

Я так думаю, что тратятся: и кнопки создаются, неважно gone они или visible, или вообще находятся вне области экрана, и картинки загружаются? Правильно...

233