Skip to main content

Setup MySQL with Ofbiz

Download ofbiz weekily build and extract it somewhere you want. From your ofbiz directory, edit file entityengine.xml in framework/entity/config
add new datasources below localmysql datasource part
    <datasource name="custommysql"
helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
field-type-name="mysql"
check-on-start="true"
add-missing-on-start="true"
check-pks-on-start="false"
use-foreign-keys="true"
join-style="ansi-no-parenthesis"
alias-view-columns="false"
drop-fk-use-foreign-key-keyword="true"
table-type="InnoDB"
character-set="latin1"
collate="latin1_general_cs">
<read-data reader-name="seed"/>
<read-data reader-name="seed-initial"/>
<read-data reader-name="demo"/>
<read-data reader-name="ext"/>
<inline-jdbc
jdbc-driver="com.mysql.jdbc.Driver"
jdbc-uri="jdbc:mysql://localhost/ofbiz"
jdbc-username="ofbizuser"
jdbc-password="mypass"
isolation-level="ReadCommitted"
pool-minsize="2"
pool-maxsize="250"/>
<!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/MySqlDataSource" isolation-level="Serializable"/> -->
</datasource>
<datasource name="custommysqlolap"
helper-class="org.ofbiz.entity.datasource.GenericHelperDAO"
field-type-name="mysql"
check-on-start="true"
add-missing-on-start="true"
check-pks-on-start="false"
use-foreign-keys="true"
join-style="ansi-no-parenthesis"
alias-view-columns="false"
drop-fk-use-foreign-key-keyword="true"
table-type="InnoDB"
character-set="latin1"
collate="latin1_general_cs">
<read-data reader-name="seed"/>
<read-data reader-name="seed-initial"/>
<read-data reader-name="demo"/>
<read-data reader-name="ext"/>
<inline-jdbc
jdbc-driver="com.mysql.jdbc.Driver"
jdbc-uri="jdbc:mysql://localhost/ofbizolap?autoReconnect=true"
jdbc-username="ofbizuser"
jdbc-password="mypass"
isolation-level="ReadCommitted"
pool-minsize="2"
pool-maxsize="250"/>
<!-- <jndi-jdbc jndi-server-name="localjndi" jndi-name="java:/DerbyDataSource" isolation-level="ReadCommitted"/> -->
</datasource>

change the "default" delegator make it look like this
<delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clea$
<group-map group-name="org.ofbiz" datasource-name="custommysql"/>
<group-map group-name="org.ofbiz.olap" datasource-name="custommysqlolap"/>
</delegator>


put mysql driver under framework/entity/lib/jdbc
[admin@localhost ofbiz]$ ls framework/entity/lib/jdbc
derby-10.4.1.3.jar mysql-connector-java-5.1.6-bin.jar
[admin@localhost ofbiz]$


prepare database <create database ,grant user>
mysql> create database ofbiz;
Query OK, 1 row affected (0.05 sec)

mysql> create database ofbizolap;
Query OK, 1 row affected (0.05 sec)

mysql> grant all on *.* to 'ofbizuser'@'localhost' identified by 'mypass';
Query OK, 0 rows affected (0.03 sec)

mysql>


now we're ready to run ant to load database into mysql. Let's go.
[admin@localhost ofbiz]$ ./ant run-install
...
[java] 2008-06-19 10:59:06,245 (main) [ ContainerLoader.java:114:INFO ] Shutting down containers

BUILD SUCCESSFUL
Total time: 5 minutes 25 seconds
[admin@localhost ofbiz]$

Comments

Anonymous said…
this is spot on..All the documentation say derby is not efficient, yet they never show how to setup another databse..lol
Anonymous said…
Very good documentation... I modified it a bit for my needs but I agree the ofbiz docs are missing this aspect.
Anonymous said…
I followed exactly the same was as mentioned , but i am getting a lot of MYSQL exceptions and finally unable to see the list of tables installed in my database named 'ofbiz' , so any way out
Anonymous said…
I have used java -jar ofbiz.jar -install command to install ofbiz and after a series of exceptions the control comes out to the command prompt
alam said…
hi why we need ofbizolap? the default ofbiz don't need this..
Anonymous said…
Hi,

I am using mysql as db for my ofbiz . I usually see 100's of established connections (netstat ) between ofbiz and mysql servers eventhough no threads utlizing it. All these connections used to be in sleep state. It frequently get refreshed by ofbiz and again be in sleep state. It never reaches the wait_timeout value set in the DB.

Where should I look at in ofbiz for the properties which control timeout for DB connections.
Andrea Palmatè said…
to use mysql 5.5 you must change the file
framework/entity/src/org/fbiz/entity/jdbc/DatabaseUtil.java and change TYPE to ENGINE since TYPE is removed in mySQL 5.5
Anonymous said…
Andrea Palmatè ..
pls specify the line or describe where to change the TYPE to ENGINE..

Popular posts from this blog

Too many open files

Last week tomcat log file report many error about "Too many open files" when it has high traffic. Some in catalina_log say 2007-04-07 16:13:40 HttpProcessor[80][272] Starting background thread 2007-04-07 16:13:40 HttpConnector[80] accept: java.net.SocketException: Too many open files and here is from localhost_log 2007-04-07 16:13:40 StandardWrapperValve[myservlet]: Servlet.service() for servlet myservlet threw exception java.io.FileNotFoundException: /home/log/mylog_070407.log (Too many open files) This is because too many file descriptors're opened by tomcat. File descriptor can be limited in both system level and shell level. To check maximum number of fd in system type 'cat /proc/sys/fs/file-max'. In my case it is 65536(someone said it should set to 200000). Tomcat error when try to open socket number 272 so I think 65536 is ok for me for now. Anyway if u want to set it add 'fs.file-max = 200000' to /etc/sysctl.conf pnix@pnix-a7:~$ cat /proc/sys/fs/fil...

Mount ISO, CUE/BIN, NRG, IMG, MDF files in ubuntu

I known that to mount iso file pnix@pnix-a7n:~$ sudo mount -o loop file.iso mountpoint or pnix@pnix-a7n:~$ sudo mount -o loop -t iso9660 file.iso mountpoint and for cue/bin file ,I convert it to iso first use bchunk pnix@pnix-a7n:~$ bchunk file.bin file.cue file.iso but how about the others. After some search, I collect tips to handle many types of image file in linux. For nrg [ nero image ], img [ clone cd] and mdf [ alcohol 120% ] files, We need nrg2iso, ccd2iso and mdf2iso to convert those image files to iso image. Luckily, All are in Feisty repos. pnix@pnix-a7n:~$ sudo aptitude install nrg2iso ccd2iso mdf2iso Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Building tag database... Done The following NEW packages will be installed: ccd2iso mdf2iso nrg2iso 0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 19.1kB of archiv...