sakai中使用mysql数据库

本文介绍如何将Sakai默认的hsqldb内存数据库迁移到MySQL,包括通过MySQLMigrationToolkit工具实现数据库转换的方法,以及如何修改Sakai配置文件以支持MySQL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从官网上下载sakai-demo-2.6.2,默认采用的是内存数据库hsqldb,想使用mysql。
那么……
[size=medium][b]注意,这一步多余,只需要在sakai配置中指明数据库名称,就自动创建了。[/b][/size]
1、mysql中的表,字段,数据什么的是怎么来的?我在官网上找了番,没有发现mysql的备份文件,ddl什么的,只有一些数据库升级文件什么的,难道我装2.6.2需要从1.5开始安装么..囧。
方案一:下载sakai源代码,搜索所有的*.sql文件,找出2.6.2版本的数据库文件(没有升级标记的文件),然后导入数据库。不推荐,这种方式导入的文件可能不全,而且数据库之间有依赖,出错很郁闷,反正我是弄一半放弃了。
方案二:将hsqldb数据库转化为mysql 数据库。这个是最妙的,因为hsqldb中是sakai实时运行中的所有数据,不用担心数据是否齐全的问题;而且有工具MySQL Migration Toolkit可以直接转换,无痛操作…网上有详细的教程http://confluence.atlassian.com/display/DOC/Migrating+from+HSQLDB+to+MySQL
要提醒的是:Source Database中connection String的值为sakai.properties中某个字段,比如:url@javax.sql.BaseDataSource=jdbc:hsqldb:file:${sakai.home}db/sakai.db,注意不要在.db后面加后缀了,虽然你疑问,sakai.db根本不是具体的文件(是的,他仅仅是一个前缀)
2、设置sakai加载mysql数据库。
注释掉url@javax.sql.BaseDataSource=jdbc:hsqldb:file:${sakai.home}db/sakai.db;hsqldb.default_table_type=cached
添加下面命令即可:
#username@javax.sql.BaseDataSource=sakai
#password@javax.sql.BaseDataSource=!@#$%)(*&

#vendor@org.sakaiproject.db.api.SqlService=mysql
#driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
#hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
#url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakai?useUnicode=true&characterEncoding=UTF-8
#validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
#defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值