Для резервного копирования базы данных MySQL на одном сервере и восстановления на другом, мне нужна та же версия MySQL?

Я сделал резервную копию своей старой базы данных на сервере Ubuntu 10.10, используя MySQL 5.1.49, используя mysqldump

Теперь я хочу восстановить файл на другом компьютере, используя сервер Ubuntu 12.04 с версией MySQL 5.5.32 на нем.

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

Я попробовал это с:

sudo mysql -u root -p fulldump.sql < fulldump.sql

Я получаю эту ошибку:

ERROR 1049 (42000): Unknown database 'fulldump.sql'

НО имя файла fulldump.sql, и это папка, в которой я сейчас нахожусь из Конечно.

Есть идеи?

2
задан 10 July 2018 в 20:05

1 ответ

Чтобы создать резервную копию базы данных MySQL на одном сервере и восстановить на другом, нужна ли мне одна и та же версия MySQL?

Это предпочтительно, но не обязательно. Если между выпусками возникает проблема, вы будете уведомлены об этом (и с сообщением, в котором говорится, что есть проблема с конкретной командой или таблицей).


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

Пример экспорта:

-- MySQL dump 10.11
--
-- Host: localhost    Database: xxxx
-- ------------------------------------------------------
-- Server version       5.0.96-0ubuntu3

/*!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 */;
/*!40101 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 */;

--
-- Table structure for table `xxxx`
--

DROP TABLE IF EXISTS `xxxx`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `xxxx` (

В базе данных не создается база данных.

0
ответ дан 10 July 2018 в 20:05

Другие вопросы по тегам:

Похожие вопросы: