Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';我不能还原MYSQL转储文件吗?_Mysql_Database_Mysqldump_Mysql Error 1064 - Fatal编程技术网

为什么可以';我不能还原MYSQL转储文件吗?

为什么可以';我不能还原MYSQL转储文件吗?,mysql,database,mysqldump,mysql-error-1064,Mysql,Database,Mysqldump,Mysql Error 1064,我已经成功地在windows上创建了MYSQL转储 mysqldump -u myuname -p mydb > path/to/mydbdump.sql 我将mydbdump.sql上传到一台实时linux服务器,创建了一个新数据库,并尝试将这些转储的数据用于新数据库 mysql -u myuname -p mynewdb < /path/to/mydbdump.sql 我不知道我错过了什么或做错了什么。试图在windows上创建的新数据库上还原同一文件;没用 更新:转储文件的

我已经成功地在windows上创建了MYSQL转储

mysqldump -u myuname -p mydb > path/to/mydbdump.sql
我将
mydbdump.sql
上传到一台实时linux服务器,创建了一个新数据库,并尝试将这些转储的数据用于新数据库

mysql -u myuname -p mynewdb < /path/to/mydbdump.sql
我不知道我错过了什么或做错了什么。试图在windows上创建的新数据库上还原同一文件;没用

更新:转储文件的第一行

/*!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 `ep_categories`
--

DROP TABLE IF EXISTS `ep_categories`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `ep_categories` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
在ubuntu上,我只是做:

mysql -uUSERNAME -p < /home/userdir/mysql_dump.sql
mysql-uUSERNAME-p
然后提示询问我密码并在ubuntu上导入.sql,我只需执行以下操作:

mysql -uUSERNAME -p < /home/userdir/mysql_dump.sql
mysql-uUSERNAME-p

然后提示询问我密码并导入.sql

我使用@lvaroG.Vicario的建议解决了它


问题是sqldump是用
UTF-16 little-endian
编码的,所以我(使用记事本++或linux
iconv
命令)将其重新编码到
UTF-8而不使用BOM
,这就解决了问题。我成功地将sqldump恢复到新的数据库服务器中

我用@lvaroG.Vicario的建议解决了这个问题


问题是sqldump是用
UTF-16 little-endian
编码的,所以我(使用记事本++或linux
iconv
命令)将其重新编码到
UTF-8而不使用BOM
,这就解决了问题。我成功地将sqldump恢复到新的数据库服务器中

也许您可以向我们显示输入文件的前几行?您无法还原转储的文件,因为您的SQL语法有错误。打开文件,看看附近有什么
。可以显示转储文件的第一行或两行吗?您的源系统是Windows吗?您是否选择了特定的数据库,如下所示:使用数据库名称我已使用转储文件的前几行更新了OP。也许您可以向我们显示输入文件的前几行?您无法还原转储文件,因为您的SQL语法有错误。打开文件,看看附近有什么
。可以显示转储文件的第一行或两行吗?您的源系统是Windows吗?您是否选择了特定的数据库,如:使用数据库名称我已使用转储文件的第一行更新了OP。当我尝试转换为UTF-8时,记事本++会吃掉我的整个文件。我应该注意的任何技巧?当我试图转换为UTF-8时,记事本++会吃掉我的整个文件。有什么我应该注意的把戏吗?