我有 MySQL 数据库版本 5.1.36,随 WAMP 安装一起提供。我在 Windows XP SP3 上将其用于开发目的,其中包含一些数据,即cyrillic,并且所有这些表/列的排序规则都设置为utf8_general_ci
.
现在是时候将该数据库迁移到 Debian Lenny 上的伪生产环境了。这里的 MySQL 版本是 5.0.51a。
我尝试了以下方法:
- 我在 Windows 上使用来自phpmyadmin的数据导出了数据库,并将
.sql
文件保存为 UTF8。 - 然后,我通过 WinSCP(具有默认和二进制传输设置)将其传输到 Linux 机器。
- 我通过命令行创建了数据库:
mysqladmin -u root -p create nbs
最后,我尝试创建表并填充数据:
mysql -u root -p --default-character-set=utf8 nbs < NBS_utf8_1.sql
但是,这是我收到错误的地方,例如:
第 1 行的 ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以
`history_members` ( `id`
在第 1 行的 ' CREATE TABLE IF NOT EXISTS int(11) NOT NULL AUTO_'附近使用正确的语法
我想有些东西编码混乱了......但不知道如何以及在哪里。我想我在类似的问题中读到了 SO 文本传输的二进制模式只会将换行符 CRLF 更改为 LF(不知道这是否正确......)。我在这里想念什么?
谢谢。