lealone / Lealone

比 MySQL 和 MongoDB 快10倍的 OLTP 关系数据库和文档数据库
Other
2.44k stars 514 forks source link

能不能出一个单机版mysql迁移到lealone的文档 #205

Open daren990 opened 10 months ago

daren990 commented 10 months ago

能不能出一个单机版mysql迁移到lealone的文档

codefollower commented 10 months ago

lealone 的 mysql 插件还处于活跃开发阶段,等正式发布后再考虑从 mysql 迁移的事吧。有了 mysql 插件之后,现有的 mysql 应用一般是不需要改动的,所以也不需要专门的从 mysql 迁移到 lealone 的文档。我现在的工作就是让 lealone 的 mysql 插件尽可能多的兼容 mysql。

daren990 commented 10 months ago

明白,会考虑兼容mysql的view,function这些吗

codefollower commented 10 months ago

view 和 function 的语法支持,mysql 的内置函数不会全部支持,比如跟复制集群相关的。

dbgp commented 8 months ago

lealone 的 mysql 插件还处于活跃开发阶段,等正式发布后再考虑从 mysql 迁移的事吧。有了 mysql 插件之后,现有的 mysql 应用一般是不需要改动的,所以也不需要专门的从 mysql 迁移到 lealone 的文档。我现在的工作就是让 lealone 的 mysql 插件尽可能多的兼容 mysql。

我理解是:应用不需要改动,数据库的数据还是要迁移一次的吧?(迁移数据的这个需求也会让mysql插件做吗?)

目前也有类似的需求:想先把mysql的数据迁移到lealone,然后应用层面只需要更换一下数据库连接(数据库的连接驱动也需要更换一下?)

这个文档还是需要的。

计划实验验证一下:现有的springMVC + mysql + myBatis的应用,如何迁移到lealone。

codefollower commented 8 months ago

mysql 数据量不大的话,直接用 mysqldump 把 mysql 的表结构和数据导出到一个 sql 文件中,然后让 lealone 执行一下这个 sql 文件就可以了。

如果原来是 spring + mysql + mybatis,从mysql 切换到 lealone 后还是用 client-server 模式,那么不需要换 jdbc 驱动,应用依然使用 mysql 的 jdbc 驱动,如果端口号和数据库名跟原来一样,连 jdbc url 都不需要改。

如果用的是嵌入模式,因为 mysql 的 jdbc 不支持嵌入模式的,得换成 lealone 的 jdbc client,然后 url 需要改成 jdbc:lealone:embed 这种方式。

codefollower commented 8 months ago

把 mysql 的数据迁移到 lealone 的步骤, 以下假设在 mysql 中已经存在一个叫 mydb 的数据库,现在需要把 mydb 的数据迁移到 lealone:

第1步: 用 mysqldump 把 mydb 的表结构和数据导出到一个 mydb.sql 文件 mysqldump -h 127.0.0.1-P 3306 -u root -proot mydb > mydb.sql

第2步: 用 mysql 的命令行客户端连到 lealone 数据库,假设端口号是 9410 mysql -h 127.0.0.1 -P 9410 -u root

第3步: 创建 mydb 数据库,并导入数据

create database test;
use test;
source mydb.sql;