Ошибка в MYSQL Workbench при попытке импортировать папку дампа существующих таблиц в новую базу данных

#mysql #database #docker #mysql-workbench #mysql-error-1146

#mysql #База данных #докер #mysql-верстак #mysql-ошибка-1146

Вопрос:

В моей короткой жизни разработчика я управлял своим MySQL с помощью Workbench, причина в том, что действительно активизирует мой процесс разработки, не будучи специалистом по управлению базами данных. В этом последнем проекте, в котором я участвовал, после создания моего приложения я установил каждый его модуль (микросервисы) в образ контейнера docker, и поскольку этот проект управляется реляционной базой данных, я также извлек образ mysql. Сделав это, я создаю копию своей тестовой базы данных (папку дампа со всеми таблицами), чтобы ее можно было импортировать в мой новый образ mysqldocker после запуска контейнера. введите описание изображения здесь Но по какой-то причине я все еще не могу понять, когда я пытаюсь импортировать в свой работающий контейнер mysql docker все данные, экспортированные ранее, появляется эта ошибка для каждой таблицы:

 
Operation failed with exitcode 1
14:05:57 Restoring multirenter (product_subtype)
Running: mysql.exe --defaults-file="c:userskikitappdatalocaltemptmp377gxw.cnf"  --protocol=tcp --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments --database=multirenter < "C:\Users\kikit\Documents\dumps\Dump20210226\multirenter_product_subtype.sql"
ERROR 1146 (42S02) at line 22: Table 'multirenter.product_subtype' doesn't exist

Operation failed with exitcode 1
14:05:58 Restoring multirenter (product_type)
Running: mysql.exe --defaults-file="c:userskikitappdatalocaltemptmph0b0bt.cnf"  --protocol=tcp --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments --database=multirenter < "C:\Users\kikit\Documents\dumps\Dump20210226\multirenter_product_type.sql"
ERROR 1146 (42S02) at line 22: Table 'multirenter.product_type' doesn't exist

Operation failed with exitcode 1
14:05:59 Restoring multirenter (rent)
Running: mysql.exe --defaults-file="c:userskikitappdatalocaltemptmpycsq97.cnf"  --protocol=tcp --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments --database=multirenter < "C:\Users\kikit\Documents\dumps\Dump20210226\multirenter_rent.sql"
ERROR 1146 (42S02) at line 22: Table 'multirenter.rent' doesn't exist

Operation failed with exitcode 1
14:06:00 Restoring multirenter (rent_notification)
Running: mysql.exe --defaults-file="c:userskikitappdatalocaltemptmposezhe.cnf"  --protocol=tcp --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments --database=multirenter < "C:\Users\kikit\Documents\dumps\Dump20210226\multirenter_rent_notification.sql"
ERROR 1146 (42S02) at line 22: Table 'multirenter.rent_notification' doesn't exist

Operation failed with exitcode 1
14:06:01 Restoring multirenter (renter)
Running: mysql.exe --defaults-file="c:userskikitappdatalocaltemptmpi0zamm.cnf"  --protocol=tcp --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments --database=multirenter < "C:\Users\kikit\Documents\dumps\Dump20210226\multirenter_renter.sql"
ERROR 1146 (42S02) at line 22: Table 'multirenter.renter' doesn't exist

Operation failed with exitcode 1
14:06:02 Restoring multirenter (renter_role)
Running: mysql.exe --defaults-file="c:userskikitappdatalocaltemptmpxrcppi.cnf"  --protocol=tcp --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments --database=multirenter < "C:\Users\kikit\Documents\dumps\Dump20210226\multirenter_renter_role.sql"
ERROR 1146 (42S02) at line 22: Table 'multirenter.renter_role' doesn't exist

Operation failed with exitcode 1
14:06:03 Restoring multirenter (role)
Running: mysql.exe --defaults-file="c:userskikitappdatalocaltemptmpa9imev.cnf"  --protocol=tcp --host=127.0.0.1 --user=root --port=3306 --default-character-set=utf8 --comments --database=multirenter < "C:\Users\kikit\Documents\dumps\Dump20210226\multirenter_role.sql"
ERROR 1146 (42S02) at line 22: Table 'multirenter.role' doesn't exist

Operation failed with exitcode 1
14:06:04 Import of C:UserskikitDocumentsdumpsDump20210226 has finished with 13 errors
 

По-видимому, папка, в которую импортируются все таблицы, не распознается.
Я добрался до каталога и проверил каждую таблицу в нем, и все они содержат соответствующие данные, например, таблицу продуктов:

 -- MySQL dump 10.13  Distrib 8.0.20, for Win64 (x86_64)
--
-- Host: 127.0.0.1    Database: multirenter
-- ------------------------------------------------------
-- Server version   8.0.20

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE=' 00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!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' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Dumping data for table `product`
--

LOCK TABLES `product` WRITE;
/*!40000 ALTER TABLE `product` DISABLE KEYS */;
INSERT INTO `product` VALUES (6,'Roller Blade 1',9,1,1,1,1,1),(9,'Periquito',8,4,2,1,2,2),(10,'chanclas',8,3,2,2,2,3),(11,'product test 1',8,3,2,2,2,3),(12,'product test 2',8,4,2,2,2,2),(13,'Blazer Roller Blades',8,1,1,2,1,1),(14,'Blazer Roller Blades',8,1,1,2,1,1),(15,'Roller Blades Bazer 11',8,1,1,2,1,1),(16,'Surf Board  Hawai 2.0',8,28,4,2,3,3);
/*!40000 ALTER TABLE `product` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2021-02-26 13:36:50

 

База данных изображений работает отлично, поэтому я отбрасываю любые проблемы, связанные с отсутствием запущенной базы данных. Также было протестировано соединение, работающее отлично:
введите описание изображения здесь

введите описание изображения здесь
введите описание изображения здесь

Я всегда использовал Workbench MySQL для обработки этой ситуации с импортом и экспортом баз данных и работы с ними, потому что я не специалист по реляционным базам данных. Может ли какой — нибудь орган помочь мне ?

Комментарии:

1. для конкретного дампа, который у вас есть, инструкция create table не включена. таким образом, сначала необходимо создать таблицы, а затем импортировать дамп или воссоздать дамп, включая инструкцию create table

2. @Lelio Faieta странно, потому что я всегда импортировал дампы без точного воссоздания прежней структуры базы данных. Я постараюсь следовать вашим советам и заранее благодарю. Не могли бы вы так любезно опубликовать этот commnet в качестве ответа?. На всякий случай, если это сработает для меня, чтобы оценить вас. Спасибо

Ответ №1:

Дамп, который вы нам показываете, не включает определение таблицы, и это приводит к ошибке

ОШИБКА 1146 (42S02) в строке 22: таблица ‘multirenter.renter_role’ не существует

либо воссоздайте таблицу перед запуском дампа, либо воссоздайте дамп, включая определение таблицы

Комментарии:

1. рад, что это помогло 🙂