gpt4 book ai didi

MySQL UTF8 Windows 导出 - Linux 导入

转载 作者:可可西里 更新时间:2023-11-01 10:00:25 24 4
gpt4 key购买 nike

我有 MySQL 数据库版本 5.1.36,它随 WAMP 安装一起提供。我将它用于 Windows XP SP3 上的开发目的,其中包含一些数据,这些数据是 cyrillic,并且所有这些表/列的排序规则都设置为 utf8_general_ci .

现在是时候将该数据库移动到 Debian Lenny 上的伪生产环境中了。这里的MySQL版本是5.0.51a。

我尝试了以下方法:

  1. 我从 Windows 上的 phpmyadmin 导出了包含数据的数据库并保存了 .sql文件格式为 UTF8。
  2. 然后,我通过 WinSCP(默认和二进制传输设置)将其传输到 Linux 机器。
  3. 我通过命令行创建了数据库:mysqladmin -u root -p create nbs
  4. 最后,我尝试创建表格并填充数据:

    mysql -u root -p --default-character-set=utf8 nbs < NBS_utf8_1.sql

但是,这是我遇到错误的地方,例如:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' CREATE TABLE IF NOT EXISTS `history_members` (
`id`
int(11) NOT NULL AUTO_' at line 1

我想编码出了点问题……但不知道如何发生以及发生在何处。我想我读过关于 SO 的类似问题,文本传输的二进制模式只会将换行符 CRLF 更改为 LF(不知道这是否正确...)。我在这里错过了什么?

谢谢。

最佳答案

对于这种特殊情况,通过以下修改解决了问题:

1) 我在创建目标数据库时将初始排序规则设置为 utf8_general_ci,
2)我通过WinSCP以文本方式传输文件,
3) 我将 SET NAMES 'utf8' COLLATE 'utf8_general_ci'; 添加到 sql 转储的顶部。

关于MySQL UTF8 Windows 导出 - Linux 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12425355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com