如果你的Navicat没有连接mysql一选项,那么换个。
1.要完成数据迁移当然要有源数据库,在本次示例中,源数据库是Oracle,目标数据库是mysql。反向迁移流程是类似的
2.首先,在目标主机上建立目标数据库的表空间。此时表空间中并没有数据。
3.然后,打开navicat,建立navicat到源数据库的连接,注意,navicat的数据传输其实是数据输出而不是数据导入。可以由连接图标和连接端口注意到,此时连接到的数据库是oracle。
点击工具 -> 数据传输,注意要提前连接过mysql库才能选出来。
4.建立navicat到目标数据库的连接。可以由连接图标和连接端口注意到,此时连接到的数据库是mysql。选择要复制的表直接选中开始,等结束了就ok .
5.右击navicat到源数据库的连接,选择“数据传输”,在弹出的提示框中选择好源数据库和目标数据库,点击“开始”按钮,就开始进行数据传输了。正常的话就可以完成数据的迁移。
问题:
1.数据迁移过去以后,在Oracle里表名大小写都行,但是在mysql里面表明如果大写,代码里可能读取不到,根据情况看需要转成小写;
2.如果不同版本的Navicat可能有些是没有mysql连接选项的,所以换个版本即可;
3.需要加入相关的依赖
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
4.注意德鲁伊的driver 已经不是之前的的了,需要用最新的 com.mysql.cj.jdbc.Driver
server:
port: 8080
spring:
application:
name: TEST(TestApplication启动类)
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
filters: stat
driver-class-name: com.mysql.cj.jdbc.Driver
#基本属性
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
username: root
password: root
#配置初始化大小/最小/最大
initial-size: 1
min-idle: 1
max-active: 20
#获取连接等待超时时间
max-wait: 60000
#间隔多久进行一次检测,检测需要关闭的空闲连接
time-between-eviction-runs-millis: 60000
#一个连接在池中最小生存的时间
min-evictable-idle-time-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
#打开PSCache,并指定每个连接上PSCache的大小。oracle设为true,mysql设为false。分库分表较多推荐设置为false
pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20