Sakai中使用MySQL資料庫

來源:互聯網
上載者:User

從官網上下載sakai-demo-2.6.2,預設採用的是記憶體資料庫hsqldb,想使用mysql。

那麼……

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

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.