不同mysql版本数据导入出现的问题

原mysql的版本是:3.4.10.1deb1,目标mysql的版本是:5.0.51b-community-nt-log,导入数据时出现了一下问题:

1、DELIMITER

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 ‘DELIMITER //‘ at line 1

google了一下,[1]中的说明正确,它说,DELIMITER并不是一个MySQL命令,与你执行这句话的mysql客户端有关,我用的是PHPMYAdmin,其客户端的版本为:5.0.51a,它不支持DELIMITER语句,换个客户端即可。用命令符界面导入sql文件,运行成功。总结:DELIMITER与MySQL服务器的版本无关,只与mysql客户端有关。

2、不支持BTREE结构

#1064 - 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 ‘USING BTREE,

KEY `authorid` (`authorid`) USING BTREE,

KEY `dateline` (`datel‘ at line 24

其实并不是mysql版本不支持BTREE索引结构,而是sql语法不对。目标版本的mysql语句为将括号里的索引项放置在后面,即将所有类似

KEY `authorid` (`authorid`) USING BTREE

的语句修改成[2]:

KEY `authorid`USING BTREE(`authorid`)

3、不支持Innodb

目标mysql数据库不支持Innodb引擎,但是程序需要支持事务,因此,需要让其支持Innodb。做法如下:

找到my.ini文件,查找skip-innodb,删除前面的#,保存。重启mysql服务。

[1] http://stackoverflow.com/questions/9017269/mysql-delimiter-syntax-error

[2] http://www.xuyuanchi.com/thread-933-1-1.html

[3] http://lxy.me/mysql-supports-innodb-storage-engine.html

转载请注明:康瑞的部落 ? 不同mysql版本数据导入出现的问题

时间: 2024-08-05 07:04:10

不同mysql版本数据导入出现的问题的相关文章

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

1.如何将solr部署,请参考之前的文章 2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例.下面我们来看看collection1中的文件内容. collection1中包含conf和data两个子文件夹.data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建).tlog是记录日志的文件夹,index是存放索引的文件夹.conf中包含lang文件夹和若干文件.lang文件夹中包含的是词库文件,但是so

mysql主库数据导入从库

mysql 主库数据导入到从库 1.主库数据导出 #msyqldump -uroot -p123456 -S /tmp/mysql.sock -A --events -B -x --master-data=1|gzip >/opt/$(date +%F_%T).sql.gz 2.从库导入数据库 拷贝备份的数据库,并导入到从库中. #scp [email protected]:/opt/$(date +%F_%T).sql.gz /sqlbak/Address 172.16.1.9 maps to

mysql的数据导入导出

1.Navicat for Mysql XML导出导入格式支持二进制数据:虽然同步数据人眼看不出区别,但是java尝试读取数据时,报datetime字段取出的值为“0000-00-00 00:00:00”,找不到理由: 2.mysqldump数据导出 1) export: mysqldump -h <ip> -P <port> -u <user> <database> <table> -p > <table>.sql 2) im

Oracle11g中数据的倒库和入库操作以及高版本数据导入低版本数据可能引发的问题

1.前言 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.所以在11G的倒库和入库方式中,我们也有两种方式可以选择:传统模式和数据泵模式. 传统模式又分为:常规导入导出和直接导入导出. 下面以导出数据为例,分别介绍各自导出原理. 1.1简述各导入导出方式的原理 1.1.1常规导出原理 传统路径模式使用SQL SELECT语句抽取表数据.数据从磁盘读入到buffer cache缓冲区中

MySQL多线程数据导入导出工具Mydumper

http://afei2.sinaapp.com/?p=456 今天在线上使用mysqldump将数据表从一个库导入到另外一个库,结果速度特别慢,印象中有个多线程的数据导入导出工具Mydumper,于是简单的调查和测试一下. 下午导数据的过程中,这个表是没有更新的,因此不需要确保多个数据之间的一致性,就简单的写个shell脚本启动多个mysqldumper来导数据,这样有几个问题: 需要处理表数据大小不均匀的问题,有的会很快结束,有的会比较慢. 如果需要保证多个导出之间的一致性时,则无法保证.

如何从mysql中将数据导入到sqlserver

本文讨论如何把MySQL的数据库导入到SQL Server中,所以首先你需要把两种数据库都安装了,再进行以下步骤. 一.为 MySQL安装ODBC驱动 1. 下载MySQL ODBC Connector,下载:http://dev.mysql.com/downloads/connector 2. 从控制面板-管理工具,打开你的 数据源(ODBC),选 系统DNS ,点添加. 3. 在 创建新数据源对话框中,选择MySQL ODBC 5.1 Driver ,点完成. 4. 完成后会出现MySQL 

InterBase数据库迁移到MySQL(数据导入)

在这个脚本中我使用的是Python的ORM框架SQLAlchemy来连接远程的MySQL数据库的,在写这个脚本的时候为了方便参数的输入,我就给之前和这个脚本添加了一个新的功能,就是在调用这个脚本的时候后面可以传入参数,这样只需要在执行脚本的时候就可以方便的输入所要使用的路径. 那么现在开始对导出的数据进行解析咯~由于之前已经将列名和数据都写入到了文本文件中, 现在只需要一行一行的读取出来,然后和类中的属性一一对应就可以了,那么现在开始读取资料吧~老样子,先用切片将之前写在文本文件中的第一行列名取

mysql批量数据导入探究

最近工作碰到一个问题,如何将大量数据(100MB+)导入到远程的mysql server上. 尝试1: Statement执行executeBatch的方法.每次导入1000条记录.时间为12s/1000条.比较慢. 对于1M次的插入这意味着需要4个多小时,期间还会因为网络状况,数据库负载等因素而把载入延迟提升到85s/1000条甚至更高. 效果较差. 尝试2: 使用PreparedStatement,该方法需要预先给定insert操作的“格式”. 实测用这种方式插入的效率为每秒钟数十行. 注意

关于SQLServer2008数据如何导入SQL2005的解决办法,高版本数据导入低版本中。

最近需要把SqlServer2008 的数据库导入sqlserver2005 中.直接备份还原肯定不行.后来想到可以生成脚本执行sql语句,并选择数据可以一同进行执行. 点击右键--->任务--->生成脚本--->下一步 选择“编写数据脚本”为 true .不同版本的sqlserver 这块的叫法不一样,但是大体都是相似的. 一直到下一步,就可以生成SqlServer 脚本了.放到2005 中执行就可以了.