oracle导数据到mysql(脚本方式)

oracle导数据到mysql(脚本方式),第1张

spool /home/oracle/XXX.sql 后面是你要的导出路径和导出文件名,最好是 txt 结尾的,不是的话等导完需要改名。

之后是 select 语句,字段和表名根据实际更改,日期要用 to_char 进行转换。

/data01/zhu/XXX.txt 是你 oracle 导出文件的位置,只支持 txt文件 , fields terminated by ',' 意思是你字段间的分隔符。一般没有中文用 character set utf8 ,有中文用 character set gb2312 ,不然可能会报错。

PS:180万条数据导进去的时间大概是2分钟。但是700万数据目前超过四小时还没导完,建议分割来提高效率。

OGG全称为Oracle GoldenGate,是由Oracle官方提供的用于解决异构数据环境中数据复制的一个商业工具。相比于其它迁移工具OGG的优势在于可以直接解析源端Oracle的redo log,因此能够实现在不需要对原表结构做太多调整的前提下完成数据增量部分的迁移。本篇文章将重点介绍如何使用OGG实现Oracle到MySQL数据的平滑迁移,以及讲述个人在迁移过程中所碰到问题的解决方案。

(一)OGG逻辑架构

参照上图简单给大家介绍下OGG逻辑架构,让大家对OGG数据同步过程有个简单了解,后面章节会详细演示相关进程的配置方式,在OGG使用过程中主要涉及以下进程及文件:

Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等

Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量、增量数据的抽取

Trails文件:临时存放在磁盘上的数据文件

Data Pump进程:运行在数据库源端,属于Extract进程的一个辅助进程,如果不配置Data Pump,Extract进程会将抽取的数据直接发送到目标端的Trail文件,如果配置了Data Pump,Extract进程会将数据抽取到本地Trail文件,然后通过Data Pump进程发送到目标端,配置Data Pump进程的主要好处是即使源端到目标端发生网络中断,Extract进程依然不会终止

Collector进程:接收源端传输过来的数据变化,并写入本地Trail文件中

Replicat进程:读取Trail文件中记录的数据变化,创建对应的DML语句并在目标端回放

二、迁移方案

(一)环境信息

OGG版本    OGG 12.2.0.2.2 For Oracle    OGG 12.2.0.2.2 For MySQL    

数据库版本    Oracle 11.2.0.4    MySQL 5.7.21  

OGG_HOME    /home/oracle/ogg    /opt/ogg  

(二)表结构迁移

表结构迁移属于难度不高但内容比较繁琐的一步,我们在迁移表结构时使用了一个叫sqlines的开源工具,对于sqlines工具在MySQL端创建失败及不符合预期的表结构再进行特殊处理,以此来提高表结构转换的效率。

注意:OGG在Oracle迁移MySQL的场景下不支持DDL语句同步,因此表结构迁移完成后到数据库切换前尽量不要再修改表结构。

(三)数据迁移

数据同步的 *** 作均采用OGG工具进行,考虑数据全量和增量的衔接,OGG需要先将增量同步的抽取进程启动,抓取数据库的redo log,待全量抽取结束后开启增量数据回放,应用全量和增量这段期间产生的日志数据,OGG可基于参数配置进行重复数据处理,所以使用OGG时优先将增量进行配置并启用。此外,为了避免本章节篇幅过长,OGG参数将不再解释,有需要的朋友可以查看官方提供的Reference文档查询任何你不理解的参数。

1.源端OGG配置

(1)Oracle数据库配置

针对Oracle数据库,OGG需要数据库开启归档模式及增加辅助补充日志、强制记录日志等来保障OGG可抓取到完整的日志信息

查看当前环境是否满足要求,输出结果如下图所示:

(2)Oracle数据库OGG用户创建

OGG需要有一个用户有权限对数据库的相关对象做 *** 作,以下为涉及的权限,该示例将创建一个用户名和密码均为ogg的Oracle数据库用户并授予以下权限

(3)源端OGG 管理进程(MGR)配置

(4)源端OGG 表级补全日志(trandata)配置

表级补全日志需要在最小补全日志打开的情况下才起作用,之前只在数据库级开启了最小补全日志(alter database add supplemental log data),redolog记录的信息还不够全面,必须再使用add trandata开启表级的补全日志以获得必要的信息。

(5)源端OGG 抽取进程(extract)配置

Extract进程运行在数据库源端,负责从源端数据表或日志中捕获数据。Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到本地的trail文件。这种机制是为了保证如果Extract进程终止或者 *** 作系统宕机,我们重启Extract进程后,GoldenGate能够恢复到以前的状态,从上一个断点处继续往下运行,而不会有任何数据损失。

(6)源端OGG 传输进程(pump)配置

pump进程运行在数据库源端,其作用非常简单。如果源端的Extract抽取进程使用了本地trail文件,那么pump进程就会把trail文件以数据块的形式通过TCP/IP协议发送到目标端,Pump进程本质上是Extract进程的一种特殊形式,如果不使用trail文件,那么Extract进程在抽取完数据后,直接投递到目标端。

补充:pump进程启动时需要与目标端的mgr进程进行连接,所以需要优先将目标端的mgr提前配置好,否则会报错连接被拒绝,无法传输抽取的日志文件到目标端对应目录下

(7)源端OGG 异构mapping文件(defgen)生成

该文件记录了源库需要复制的表的表结构定义信息,在源库生成该文件后需要拷贝到目标库的dirdef目录,当目标库的replica进程将传输过来的数据apply到目标库时需要读写该文件,同构的数据库不需要进行该 *** 作。

2.目标端OGG配置

(1)目标端MySQL数据库配置

确认MySQL端表结构已经存在

MySQL数据库OGG用户创建

mysql>create user 'ogg'@'%' identified by 'ogg'

mysql>grant all on *.* to 'ogg'@'%'

#### 提前创建好ogg存放checkpoint表的数据库

mysql>create database ogg

(2)目标端OGG 管理进程(MGR)配置

目标端的MGR进程和源端配置一样,可直接将源端配置方式在目标端重复执行一次即可,该部分不在赘述

(3)目标端OGG 检查点日志表(checkpoint)配置

checkpoint表用来保障一个事务执行完成后,在MySQL数据库从有一张表记录当前的日志回放点,与MySQL复制记录binlog的GTID或position点类似。

#### 切换至ogg软件目录并执行ggsci进入命令行终端

shell>cd $OGG_HOME

shell>ggsci

ggsci>edit param ./GLOBALS

checkpointtable ogg.ggs_checkpoint

ggsci>dblogin sourcedb [email protected]:3306 userid ogg

ggsci>add checkpointtable ogg.ggs_checkpoint

(4)目标端OGG 回放线程(replicat)配置

Replicat进程运行在目标端,是数据投递的最后一站,负责读取目标端Trail文件中的内容,并将解析其解析为DML语句,然后应用到目标数据库中。

#### 切换至ogg软件目录并执行ggsci进入命令行终端

shell>cd $OGG_HOME

shell>ggsci

#### 添加一个回放线程并与源端pump进程传输过来的trail文件关联,并使用checkpoint表确保数据不丢失

ggsci>add replicat r_cms,exttrail /opt/ogg/dirdat/ms,checkpointtable ogg.ggs_checkpoint

#### 增加/编辑回放进程配置文件

ggsci>edit params r_cms

replicat r_cms

targetdb [email protected]:3306,userid ogg,password ogg

sourcedefs /opt/ogg/dirdef/cms.def

discardfile /opt/ogg/dirrpt/r_cms.dsc,append,megabytes 1024

HANDLECOLLISIONS

MAP cms.*,target cms.*

注意:replicat进程只需配置完成,无需启动,待全量抽取完成后再启动。

至此源端环境配置完成

待全量数据抽取完毕后启动目标端回放进程即可完成数据准实时同步。

3.全量同步配置

全量数据同步为一次性 *** 作,当OGG软件部署完成及增量抽取进程配置并启动后,可配置1个特殊的extract进程从表中抽取数据,将抽取的数据保存到目标端生成文件,目标端同时启动一个单次运行的replicat回放进程将数据解析并回放至目标数据库中。

(1)源端OGG 全量抽取进程(extract)配置

#### 切换至ogg软件目录并执行ggsci进入命令行终端

shell>cd $OGG_HOME

shell>ggsci

#### 增加/编辑全量抽取进程配置文件

#### 其中RMTFILE指定抽取的数据直接传送到远端对应目录下

#### 注意:RMTFILE参数指定的文件只支持2位字符,如果超过replicat则无法识别

ggsci>edit params ei_cms

SOURCEISTABLE

SETENV (NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")

SETENV (ORACLE_SID=cms)

SETENV (ORACLE_HOME=/data/oracle/11.2/db_1)

USERID ogg@appdb,PASSWORD ogg

RMTHOST 17X.1X.84.121,MGRPORT 7809

RMTFILE /opt/ogg/dirdat/ms,maxfiles 100,megabytes 1024,purge

TABLE cms.*

#### 启动并查看抽取进程正常

shell>nohup ./extract paramfile ./dirprm/ei_cms.prm reportfile ./dirrpt/ei_cms.rpt &

## 查看日志是否正常进行全量抽取

shell>tail -f ./dirrpt/ei_cms.rpt

(2)目标端OGG 全量回放进程(replicat)配置

#### 切换至ogg软件目录并执行ggsci进入命令行终端

shell>cd $OGG_HOME

shell>ggsci

ggsci>edit params ri_cms

SPECIALRUN

END RUNTIME

TARGETDB [email protected]:3306,USERID ogg,PASSWORD ogg

EXTFILE /opt/ogg/dirdat/ms

DISCARDFILE ./dirrpt/ri_cms.dsc,purge

MAP cms.*,TARGET cms.*

#### 启动并查看回放进程正常

shell>nohup ./replicat paramfile ./dirprm/ri_cms.prm reportfile ./dirrpt/ri_cms.rpt &

#### 查看日志是否正常进行全量回放

shell>tail -f ./dirrpt/ri_cms.rpt

三、数据校验

数据校验是数据迁移过程中必不可少的环节,本章节提供给几个数据校验的思路共大家参数,校验方式可以由以下几个角度去实现:

1.通过OGG日志查看全量、增量过程中discards记录是否为0来判断是否丢失数据;

2.通过对源端、目标端的表执行count判断数据量是否一致;

3.编写类似于pt-table-checksum校验原理的程序,实现行级别一致性校验,这种方式优缺点特别明显,优点是能够完全准确对数据内容进行校验,缺点是需要遍历每一行数据,校验成本较高;

4.相对折中的数据校验方式是通过业务角度,提前编写好数十个返回结果较快的SQL,从业务角度抽样校验。

四、迁移问题处理

本章节将讲述迁移过程中碰到的一些问题及相应的解决方式。

(一)MySQL限制

在Oracle到MySQL的表结构迁移过程中主要碰到以下两个限制:

1. Oracle端的表结构因为最初设计不严谨,存在大量的列使用varchar(4000)数据类型,导致迁移到MySQL后超出行限制,表结构无法创建。由于MySQL本身数据结构的限制,一个16K的数据页最少要存储两行数据,因此单行数据不能超过65,535 bytes,因此针对这种情况有两种解决方式:

根据实际存储数据的长度,对超长的varchar列进行收缩;

对于无法收缩的列转换数据类型为text,但这在使用过程中可能导致一些性能问题;

2. 与第一点类似,在Innodb存储引擎中,索引前缀长度限制是767 bytes,若使用DYNAMIC、COMPRESSED行格式且开启innodblargeprefix的场景下,这个限制是3072 bytes,即使用utf8mb4字符集时,最多只能对varchar(768)的列创建索引;

3. 使用ogg全量初始化同步时,若存在外键约束,批量导入时由于各表的插入顺序不唯一,可能子表先插入数据而主表还未插入,导致报错子表依赖的记录不存在,因此建议数据迁移阶段禁用主外键约束,待迁移结束后再打开。

mysql>set global foreign_key_checks=off

(二)全量与增量衔接

HANDLECOLLISIONS参数是实现OGG全量数据与增量数据衔接的关键,其实现原理是在全量抽取前先开启增量抽取进程,抓去全量应用期间产生的redo log,当全量应用完成后,开启增量回放进程,应用全量期间的增量数据。使用该参数后增量回放DML语句时主要有以下场景及处理逻辑:

目标端不存在delete语句的记录,忽略该问题并不记录到discardfile

目标端丢失update记录

- 更新的是主键值,update转换成insert

- 更新的键值是非主键,忽略该问题并不记录到discardfile

目标端重复insert已存在的主键值,这将被replicat进程转换为UPDATE现有主键值的行

(三)OGG版本选择

在OGG版本选择上我们也根据用户的场景多次更换了OGG版本,最初因为客户的Oracle 数据库版本为11.2.0.4,因此我们在选择OGG版本时优先选择使用了11版本,但是使用过程中发现,每次数据抽取生成的trail文件达到2G左右时,OGG报错连接中断,查看RMTFILE参数详细说明了解到trail文件默认限制为2G,后来我们替换OGG版本为12.3,使用MAXFILES参数控制生成多个指定大小的trail文件,回放时Replicat进程也能自动轮转读取Trail文件,最终解决该问题。但是如果不幸Oracle环境使用了Linux 5版本的系统,那么你的OGG需要再降一个小版本,最高只能使用OGG 12.2。

(四)无主键表处理

在迁移过程中还碰到一个比较难搞的问题就是当前Oracle端存在大量表没有主键。在MySQL中的表没有主键这几乎是不被允许的,因为很容易导致性能问题和主从延迟。同时在OGG迁移过程中表没有主键也会产生一些隐患,比如对于没有主键的表,OGG默认是将这个一行数据中所有的列拼凑起来作为唯一键,但实际还是可能存在重复数据导致数据同步异常,Oracle官方对此也提供了一个解决方案,通过对无主键表添加GUID列来作为行唯一标示,具体 *** 作方式可以搜索MOS文档ID 1271578.1进行查看。

(五)OGG安全规则

报错信息

2019-03-08 06:15:22  ERROR   OGG-01201  Error reported by MGR : Access denied.

错误信息含义源端报错表示为该抽取进程需要和目标端的mgr进程通讯,但是被拒绝,具体 *** 作为:源端的extract进程需要与目标端mgr进行沟通,远程将目标的replicat进行启动,由于安全性现在而被拒绝连接。

报错原因

在Oracle OGG 11版本后,增加了新特性安全性要求,如果需要远程启动目标端的replicat进程,需要在mgr节点增加访问控制参数允许远程调用

解决办法

在源端和目标端的mgr节点上分别增加访问控制规则并重启

## 表示该mgr节点允许(ALLOW)10.186网段(IPADDR)的所有类型程序(PROG *)进行连接访问ACCESSRULE, PROG *, IPADDR 10.186.*.*, ALLOW

(六)数据抽取方式

报错信息

2019-03-15 14:49:04  ERROR   OGG-01192  Trying to use RMTTASK on data types which may be written as LOB chunks (Table: 'UNIONPAYCMS.CMS_OT_CONTENT_RTF').

报错原因

根据官方文档说明,当前直接通过Oracle数据库抽取数据写到MySQL这种initial-load方式,不支持LOBs数据类型,而表 UNIONPAYCMS.CMSOTCONTENT_RTF 则包含了CLOB字段,无法进行传输,并且该方式不支持超过4k的字段数据类型

解决方法

将抽取进程中的RMTTASK改为RMTFILE参数 官方建议将数据先抽取成文件,再基于文件数据解析进行初始化导入

问题一:如何导入已有的外部数据库 在增强工具下方找到【导入外部数据库】点击进入

这里不需要做任何的改动直接点击【下一步】就可以了

选择要导入的数据源的名称,选择导入数据源的类型,可以从本地导入到数据库中,也可以选择从远程数据库导入到目标数据库中,如果是远程的数据库需要配置远程数据源的验证,设置完成点击【下一步】按钮

选择要将数据源数据导入的目标数据库,一样的需要配置目标数据的IP地址、目标数据库的用户口令和数据库端口

指定数据导入选择数据的方式,可以通过选择数据表,也可以选择使用sql查询来实现一部分指定的数据导入到目标数据库

如果选择sql语句查询来实现一部分指定的数据导入到目标数据库,会进入到如下图的界面,将数据库的查询sql写入白框中,点击下一步按钮完成配置的工作。

问题二:服务器上数据库怎么导入sql脚本 方法/步骤

1

【第一导入数据结构】

打开本地计算机上的 SQL Server Management Studio 客户端软件:

2

本地电脑:登陆本机数据库连接控制端:

3

选择您要导出到服务器的数据库然后鼠标右键:选择生成SQL脚本:

4

选中本地电脑需要导出脚本的库名字

5

需要选择选择兼容sql2005的版本的脚本:

修改sql脚本的保存路径:记录下这个路径

查看生产脚本生成的选项:

成功生成sql脚本:并记录下脚本导出的路径

连接到虚拟主机提供的目标数据库服务器:

并点击新建查询,拷贝您导出的 SQL 脚本代码(此代码为第一步导出的sql脚本代码)到上图显示的查询分析器中,点击分析脚本,如果没有语法错误,就点击执行脚本,直到执行完毕。

【导入数据结构完毕】

【第二:导入数据库数据】

下面咱们开始导入数据库表中的数据:登陆您本地的数据库:

点击您本地计算机上的数据库右键-任务-导出数据:

选择目标数据库,如下添加虚拟主机提供给您的数据库信息(服务器地址,用户名,密码,数据库):

点击下一步,点击下一步,选中所有表,并确保“目标”

点击下一步,直到执行完毕:这样你的本地数据库就导入到虚拟主机上了

【导入数据库数据完毕】

问题三:怎样导入数据库 你先建立一个备份,然后建立备份用FTP,这样你空间数据库里会生成一个1.bak文件或者是1.sql文件。

1.bak是MSSQL数据库备份出来的文件,1.SQL是MYSQL的。

你打开FTP软件,然后将你电脑里的1.sql文件上传到这数据库空间,会提示你覆盖,你点是。

传完以后,你点一下从备份中还原就可以了。

如果你还不明白,你可以联系一下你的IDC服务商,让他们帮你导或者远程帮你 *** 作也可以。

问题四:如何导入mysql数据库 MySQL数据库的导入,有两种方法:

1) 先导出数据库SQL脚本,再导入;

2) 直接拷贝数据库目录和文件。

在不同 *** 作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。

所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。

2. 方法一 SQL脚本形式

*** 作步骤如下:

2.1. 导出SQL脚本

在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。

2.1.1 用phpMyAdmin工具

导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。

选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。

将导出的SQL文件保存下来。

2.1.2 用mysqldump命令行

命令格式

mysqldump -u用户名 -p 数据库名 >数据库名.sql

范例:

mysqldump -uroot -p abc >abc.sql

(导出数据库abc到abc.sql文件)

提示输入密码时,输入该数据库用户名的密码。

2.2. 创建空的数据库

通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

2.3. 将SQL脚本导入执行

同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。

2.3.1 用phpMyAdmin工具

从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。

在SQL菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。

注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件

比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。

gzip使用方法:

# gzip xxxxx.sql

得到

xxxxx.sql.gz文件。

提示输入密码时,输入该数据库用户名的密码。

3 直接拷贝

如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。

3.1 准备原始文件

用tar打包为一个文件

3.2 创建空数据库

3.3 解压

在临时目录中解压,如:

cd /tmp

tar zxf mydb.tar.gz

3.4 拷贝

将解压后的数据库文件拷贝到相关目录

cd mydb/

cp * /var/lib/mysql/mydb/

对于FreeBSD:

cp * /var/db/mysql/mydb/

3.5 权限设置

将拷贝过去的文件的属主改为mysql:mysql,权限改为660

chown mysql:mysql /var/lib/mysql/mydb/*

chmod 660 /var/lib/mysql/mydb/*

打字不易,如满意,望采纳。...>>

问题五:网站数据库,怎么导入 ? 你先建立一个备份,然后建立备份用FTP,这样你空间数据库里会生成一个1.bak文件或者是1.sql文件。

1.bak是MSSQL数据库备份出来的文件,1.SQL是MYSQL的。

你打开FTP软件,然后将你电脑里的1.sql文件上传到这数据库空间,会提示你覆盖,你点是。

传完以后,你点一下从备份中还原就可以了。

如果你还不明白,你可以联系一下你的IDC服务商,让他们帮你导或者远程帮你 *** 作也可以。

问题六:oracle中怎样导入数据库文件 ? 导出

导出具体的分为:导出表,导出方案,导出数据库三种方式。

导出使用exp命令来完成的,该命令常用的选项有:

userid: 用于指定执行导出 *** 作的用户名,口令,连接字符串

tables: 用于指定执行导出 *** 作的表

owner: 用于指定执行导出 *** 作的方案

full=y: 用于指定执行导出 *** 作的数据库

inctype: 用于指定执行导出 *** 作的增量类型

rows: 用于指定执行导出 *** 作是否要导出表中的数据

file: 用于指定导出文件名

Oracle 笔记

23

? 导出表

1.导出自己的表

exp [email protected] tables=(emp,dept) file=d:\e1.dmp

2.导出其它方案的表

如果用户要导出其它方案的表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表

E:\oracle\ora92\bin>exp [email protected] tables=(scott.emp) file=d:\e2.emp

特别说明:在导入和导出的时候,要到oracle目录的bin目录下。

3. 导出表的结构

exp [email protected] tables=(emp) file=d:\e3.dmp rows=n

4. 使用直接导出方式

exp [email protected] tables=(emp) file=d:\e4.dmp direct=y

这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。

这时需要数据库的字符集要与客户端字符集完全一致,否则会报错...

? 导出方案

导出方案是指使用export工具导出一个方案或是多个方案中的所有对象(表,索引,约束...)和数据。并存放到文件中。

1. 导出自己的方案

exp [email protected] owner=scott file=d:\scott.dmp

2. 导出其它方案

如果用户要导出其它方案,则需要dba的权限或是exp_full_database的权限,比如system用户就可以导出任何方案

exp [email protected] owner=(system,scott) file=d:\system.dmp

? 导出数据库

导出数据库是指利用export导出所有数据库中的对象及数据,要求该用户具有dba的权限或者是exp_full_database权限

增量备份(好处是第一次备份后,第二次备份就快很多了)

exp [email protected] full=y inctype=plete file=d:\all.dmp

导入

? 介绍

导入就是使用工具import将文件中的对象和数据导入到数据库中,但是导入要使用的文件必须是export所导出的文件。与导

出相似,导入也分为导入表,导入方案,导入数据库三种方式。

imp常用的......>>

问题七:sql文件怎么导入mysql数据库 直接执行

mysql -uroot -pPassword 问题八:新建网站如何导入数据库MySQL 可以通过phpmyadmin工具导入mysql数据库备份。

Phpmyadmin常具支持导入数据库备份的格式有:.sql、.tar.gz、.tar

如果你的mysql数据库格式不是上述三种格式,请自行转换数据库备份格式。

在 *** 作mysql数据库备份前,需要先在虚拟主机控制面板中新建一个mysql数据库。

*** 作方法如下:

第一步、登录phpmyadmin数据库管理工具。

第二步、登录phpmyadmin工具,需要您输入mysql数据库用户名和数据库密码。(这个登录信息,在新建mysql数据库的时候可以获得)

第四步、选择数据库,点击“导入”。

问题九:怎样把一个.sql的文件导入mysql数据库中 建议先导出表结构并进行整理,再进行数据迁移。SQL Server 和MySQL还是有很多地方不同的,比如某些字段类型,在MySQL中是不能够识别的,直接执行肯定是乱码。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6100096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存