solo 从 h2 迁移到 mysql

本贴最后更新于 1810 天前,其中的信息可能已经时移世异

导出 csv

启动 h2 服务并允许远程连接

java -cp h2-1.3.176.jar org.h2.tools.Server -web -webAllowOthers -tcp -tcpPort 19200 -tcpAllowOthers  

浏览器访问 h2

注意输入的数据库名字,我的是~/solo_h2/db

导出

call CSVWRITE ( './b3_solo_article.txt', 'SELECT * FROM MYTABLE' )

这里的是导出到相对于 h2.jar 的目录,不是本地的目录,我真是傻,一开始还以为有个地方可以下载。

导入

我这里将上一步的 csv 从服务器拷贝到本地,用 local infile 导入。
编码和数据库的一样-utf-8mb4
忽略第一行的标题。

LOAD DATA local INFILE 'b3_solo_article.txt'  
INTO  TABLE b3_solo_article  character set utf8mb4
FIELDS  TERMINATED BY  ',' 
OPTIONALLY ENCLOSED BY  '"'
LINES TERMINATED BY  '\n';
ignore 1 lines

如果用 infile 导入,是从服务器的路径读取 csv 文件,但是可能会报

The MySQL server is running with the --secure-file-.

问题,需要配置 mysql,但是我搞了一会没搞定,放弃了。

数据更正

article 表里有 boolean 类型,articleCommentable,h2 中存的是 T,mysql 无法识别,改为 1 可以。
有好几个字段

update b3_solo_article
set articleCommentable = 1 where articleCommentable = 'T';
update b3_solo_article
set articleCommentable = 0 where articleCommentable = 'F'

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...