【发布时间】:2016-02-27 00:40:46
【问题描述】:
我无法在命令行中使用 mysql 成功导入 MySQL,而我在 Windows 上使用 XAMPP。
我在 stackoverflow 上搜索并搜索了解决方案,但没有一个有效。我对 php.ini 和 my.ini 进行了更高的限制:
- max_allowed_packet = 64M
- wait_timeout = 6000
- max_allowed_packet = 64M
目前我有一个 450Mb 大小的 .sql 文件,当我尝试使用命令行将其导入 mysql 时。
mysql.exe -u root mcs 错误:ASCII '\0' 出现在 声明,但这是不允许的,除非选项 --binary-mode 是 启用并且mysql以非交互模式运行。
我用这个命令再试一次:
mysql.exe -u root --binary-mode mcs ERROR 2006 (HY000) at line 1: MySQL server has gone away.
更新
我正在使用 SQL Server Management Studio,似乎可以将 SQL 文件构建为 ANSI 或 UCS-2(我不知道最好选择什么)。
我只用一个大小为 3Mb 的表构建了一个 .sql 文件,并且由于语法错误而在导入时不断崩溃。
这是我的 3Mb .sql 文件 (ANSI) 的几行:
USE [mcs]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[inventory](
[item] [nvarchar](20) NOT NULL,
[descr] [nvarchar](255) NULL,
[daymin] [money] NULL,
[days_min] [smallint] NULL,
[weekchg] [money] NULL,
[monthchg] [money] NULL,
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[inventory] ON
INSERT [dbo].[inventory] ([item], [descr], [daymin], [days_min], [weekchg], [monthchg]) VALUES (N'AGRAF8MM', 8mm Arrow', 11.8500, 0, 0.0000, 0.0000)
【问题讨论】:
-
MySQL的错误日志中可能有线索。
-
.sql文件是什么字符编码的?是 UTF-16 还是 UCS-2?
-
你是如何创建这个文件的?前几行是什么样的?
-
@BaconBits 我不知道我认为它应该是 UTF-8 还是 UTF-16,但我还没有找到如何知道它。
-
您可以通过可以告诉您的文本编辑器打开文件来很好地猜测编码是什么。例如,Notepad++ 在窗口底部显示当前编码。它将显示 ANSI、UTF-8 或 UCS-2(或多或少是 UTF-16)。
标签: mysql sql-server