我使用 MySQL 5.1.49 备份了 Ubuntu 10.10 服务器上的旧数据库mysqldump
现在我想在另一台机器上恢复该文件,使用装有 MySQL 版本的 Ubuntu 12.04 服务器5.5.32
。
我设法通过复制文件rsync
,但无法加载数据库。
我尝试过:
sudo mysql -u root -p fulldump.sql < fulldump.sql
我收到此错误:
ERROR 1049 (42000): Unknown database 'fulldump.sql'
但是文件的名称是fulldump.sql
,当然也是我当前所在的文件夹。
有任何想法吗?
答案1
要在一台服务器上备份 MySQL DB 并在另一台服务器上恢复,我是否需要相同版本的 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` (
导出时没有创建数据库。