Error - Migrating from Derby to MySQL

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Error - Migrating from Derby to MySQL

OfBizSuds
I am trying to get ofbiz to work with MySQL DB instead of the default Derby db. Tried following instructions given in the Production setup & that in the llnk
http://www.flagword.net/2010/06/29/how-to-migrate-ofbiz-from-derby-to-mysql-db/

Has anyone tried this?

I exported the data to XML thru webtools. Then created a Mysql db called ofbiz & one more called ofbizolap as per instructins given. I can see the 2 databases created also in mySQL (thru Netbeans IDE)

When I try the line
grant all privileges on ofbiz.* to 'ofbiz'@'localhost' identified by password 'ofbiz';
OR
grant all privileges on ofbizolap.* to 'ofbiz'@'localhost' identified by password 'ofbizolap';

I get the error "Password hash should be a 41-digit hexadecimal number"

Any ideas how to fix this??
Reply | Threaded
Open this post in threaded view
|

Re: Error - Migrating from Derby to MySQL

BJ Freeman
that is a question best asked in the Mysql Forum for fastest response.
it has to-do with setting up Mysql not ofbiz.

=========================
BJ Freeman  <http://bjfreeman.elance.com>
Strategic Power Office with Supplier Automation  <http://www.businessesnetwork.com/automation/viewforum.php?f=52>
Specialtymarket.com  <http://www.specialtymarket.com/>
Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man


OfBizSuds sent the following on 8/26/2010 1:20 AM:

>
> I am trying to get ofbiz to work with MySQL DB instead of the default Derby
> db. Tried following instructions given in the Production setup&  that in the
> llnk
> http://www.flagword.net/2010/06/29/how-to-migrate-ofbiz-from-derby-to-mysql-db/
>
> Has anyone tried this?
>
> I exported the data to XML thru webtools. Then created a Mysql db called
> ofbiz&  one more called ofbizolap as per instructins given. I can see the 2
> databases created also in mySQL (thru Netbeans IDE)
>
> When I try the line
> grant all privileges on ofbiz.* to 'ofbiz'@'localhost' identified by
> password 'ofbiz';
> OR
> grant all privileges on ofbizolap.* to 'ofbiz'@'localhost' identified by
> password 'ofbizolap';
>
> I get the error "Password hash should be a 41-digit hexadecimal number"
>
> Any ideas how to fix this??
>

Reply | Threaded
Open this post in threaded view
|

Re: Error - Migrating from Derby to MySQL

Nico Toerl
In reply to this post by OfBizSuds
 On 08/26/10 16:20, OfBizSuds wrote:

> I am trying to get ofbiz to work with MySQL DB instead of the default Derby
> db. Tried following instructions given in the Production setup & that in the
> llnk
> http://www.flagword.net/2010/06/29/how-to-migrate-ofbiz-from-derby-to-mysql-db/
>
> Has anyone tried this?
>
> I exported the data to XML thru webtools. Then created a Mysql db called
> ofbiz & one more called ofbizolap as per instructins given. I can see the 2
> databases created also in mySQL (thru Netbeans IDE)
>
> When I try the line
> grant all privileges on ofbiz.* to 'ofbiz'@'localhost' identified by
> password 'ofbiz';
> OR
> grant all privileges on ofbizolap.* to 'ofbiz'@'localhost' identified by
> password 'ofbizolap';
>
> I get the error "Password hash should be a 41-digit hexadecimal number"
>
> Any ideas how to fix this??
>

Password is a mysql system function that generates a hash from the argument given.
Just the syntax/typo that caused mysql to produce that error.


|its either ....IDENTIFIED BY '/password/String'

or
|

PASSWORD('passwordString');

cheers
Nico


--
Nico Toerl                      
SeniorSysadmin / IT-department
Virtual Village

Tel. +86 21 51718885 ext.7042

Reply | Threaded
Open this post in threaded view
|

Re: Error - Migrating from Derby to MySQL

Nico Toerl
 On 08/26/10 16:34, Nico Toerl wrote:

>  On 08/26/10 16:20, OfBizSuds wrote:
>> I am trying to get ofbiz to work with MySQL DB instead of the default Derby
>> db. Tried following instructions given in the Production setup & that in the
>> llnk
>> http://www.flagword.net/2010/06/29/how-to-migrate-ofbiz-from-derby-to-mysql-db/
>>
>> Has anyone tried this?
>>
>> I exported the data to XML thru webtools. Then created a Mysql db called
>> ofbiz & one more called ofbizolap as per instructins given. I can see the 2
>> databases created also in mySQL (thru Netbeans IDE)
>>
>> When I try the line
>> grant all privileges on ofbiz.* to 'ofbiz'@'localhost' identified by
>> password 'ofbiz';
>> OR
>> grant all privileges on ofbizolap.* to 'ofbiz'@'localhost' identified by
>> password 'ofbizolap';
>>
>> I get the error "Password hash should be a 41-digit hexadecimal number"
>>
>> Any ideas how to fix this??
>>
> Password is a mysql system function that generates a hash from the argument given.
> Just the syntax/typo that caused mysql to produce that error.
>
>
> |its either ....IDENTIFIED BY '/password/String'
>
> or
> |
>
> PASSWORD('passwordString');
>
> cheers
> Nico
>
>

sorry for the extra characters, not sure how i managed to type those
what i meant to write was:

its either ....IDENTIFIED BY 'passwordString'
or
PASSWORD('passwordString');


cheers
Nico

--
Nico Toerl                      
SeniorSysadmin / IT-department
Virtual Village

Tel. +86 21 51718885 ext.7042

Reply | Threaded
Open this post in threaded view
|

Re: Error - Migrating from Derby to MySQL

OfBizSuds
Thanks Nico

grant all privileges on ofbiz.* to 'ofbiz'@'localhost' identified by 'ofbiz';


worked!




________________________________
From: Nico Toerl <[hidden email]>
To: [hidden email]
Sent: Thu, August 26, 2010 2:09:13 PM
Subject: Re: Error - Migrating from Derby to MySQL

On 08/26/10 16:34, Nico Toerl wrote:

>  On 08/26/10 16:20, OfBizSuds wrote:
>> I am trying to get ofbiz to work with MySQL DB instead of the default Derby
>> db. Tried following instructions given in the Production setup & that in the
>> llnk
>>
>http://www.flagword.net/2010/06/29/how-to-migrate-ofbiz-from-derby-to-mysql-db/
>>
>> Has anyone tried this?
>>
>> I exported the data to XML thru webtools. Then created a Mysql db called
>> ofbiz & one more called ofbizolap as per instructins given. I can see the 2
>> databases created also in mySQL (thru Netbeans IDE)
>>
>> When I try the line
>> grant all privileges on ofbiz.* to 'ofbiz'@'localhost' identified by
>> password 'ofbiz';
>> OR
>> grant all privileges on ofbizolap.* to 'ofbiz'@'localhost' identified by
>> password 'ofbizolap';
>>
>> I get the error "Password hash should be a 41-digit hexadecimal number"
>>
>> Any ideas how to fix this??
>>
> Password is a mysql system function that generates a hash from the argument
>given.
> Just the syntax/typo that caused mysql to produce that error.
>
>
> |its either ....IDENTIFIED BY '/password/String'
>
> or
> |
>
> PASSWORD('passwordString');
>
> cheers
> Nico
>
>

sorry for the extra characters, not sure how i managed to type those
what i meant to write was:

its either ....IDENTIFIED BY 'passwordString'
or
PASSWORD('passwordString');


cheers
Nico

--
Nico Toerl                      
SeniorSysadmin / IT-department
Virtual Village

Tel. +86 21 51718885 ext.7042


     
Reply | Threaded
Open this post in threaded view
|

Re: Error - Migrating from Derby to MySQL

OfBizSuds
In reply to this post by Nico Toerl
Thanks Nico

grant all privileges on ofbiz.* to 'ofbiz'@'localhost' identified by 'ofbiz';

worked!

Reply | Threaded
Open this post in threaded view
|

Re: Error - Migrating from Derby to MySQL

arvind.kumar.avinash
If you are still stuck, do as instructed below:

I have used the following versions for this topic:

1. MySQL: mysql-5.5.23-winx64 (zip) - the topic is still valid for 32 bit version
2. MySQL JDBC driver: mysql-connector-java-5.1.14-bin.jar - to be placed in <ofbiz-dir>/framework/entity/lib/jdbc
3. OfBiz: apache-ofbiz-10.04

Step - I
C:\mysql-5.5.23-winx64\bin>mysql -u root
mysql>create database ofbiz;
mysql>create database ofbizolap;
mysql>create database ofbiztenant;
mysql>use mysql;
mysql>select database();
mysql>create user ofbiz@localhost;
mysql>create user ofbizolap@localhost;
mysql>create user ofbiztenant@localhost;
mysql>update user set password=PASSWORD("ofbiz") where User='ofbiz';
mysql>update user set password=PASSWORD("ofbizolap") where User='ofbizolap';
mysql>update user set password=PASSWORD("ofbiztenant") where User='ofbiztenant';
mysql>grant all privileges on *.* to 'ofbiz'@localhost identified by 'ofbiz';
mysql>grant all privileges on *.* to 'ofbizolap'@localhost identified by 'ofbizolap';
mysql>grant all privileges on *.* to 'ofbiztenant'@localhost identified by 'ofbiztenant';

Step - II
Use webtools to export all data to XML:
a. Start OfBiz
b. Navigate to http://localhost:8080/catalog/
c. Go to Applications>WebTools
d. Go to section 'Entity XML Tools' and click the link 'XML Data Export All' - export the data to a directory of your choice

Step - III
Stop OfBiz server
Create a backup of <ofbiz-dir>/framework/entity/config/entityengine.xml
Edit entityengine.xml as follows:
1. Add the following datasources below the datasource 'localmysql'
        <datasource name="localmysqlolap"
            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://127.0.0.1/ofbiz?autoReconnect=true"
                jdbc-username="ofbizolap"
                jdbc-password="ofbizolap"
                isolation-level="ReadCommitted"
                pool-minsize="2"
                pool-maxsize="250"
                time-between-eviction-runs-millis="600000"/>
    </datasource>

        <datasource name="localmysqltenant"
            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://127.0.0.1/ofbiz?autoReconnect=true"
                jdbc-username="ofbiztenant"
                jdbc-password="ofbiztenant"
                isolation-level="ReadCommitted"
                pool-minsize="2"
                pool-maxsize="250"
                time-between-eviction-runs-millis="600000"/>
    </datasource>
2. Replace derby with mysql in default, default-no-eca and test delegators as follows:
        <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
        <group-map group-name="org.ofbiz.olap" datasource-name="localmysqlolap"/>
        <group-map group-name="org.ofbiz.tenant" datasource-name="localmysqltenant"/>
    </delegator>
               
    <delegator name="default-no-eca" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" entity-eca-enabled="false" distributed-cache-clear-enabled="false">
        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
        <group-map group-name="org.ofbiz.olap" datasource-name="localmysqlolap"/>
        <group-map group-name="org.ofbiz.tenant" datasource-name="localmysqltenant"/>
    </delegator>

    <delegator name="test" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
        <group-map group-name="org.ofbiz.olap" datasource-name="localmysqlolap"/>
        <group-map group-name="org.ofbiz.tenant" datasource-name="localmysqltenant"/>
    </delegator>
3. Save this file

Step -IV
1. Open ofbiz/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java in eclipse and replace sqlBuf.append(" TYPE ") with sqlBuf.append(" ENGINE ")
2. Save the file and run ofbiz/build.xml
Note: This is required because TYPE was deprecated in MySQL 4.0 and removed in MySQL 5.5. The older TYPE option was synonymous with the new option ENGINE

Step -V
1. Run the following command from command prompt:
ofbiz-dir>java -jar ofbiz.jar -install
2. Start OfBiz
3. Use webtools to import all data from XML:
a. Navigate to http://localhost:8080/catalog/
b. Go to Applications>WebTools
c. Go to section 'Entity XML Tools' and click the link 'XML Data Import Dir' -> In the 'Absolute directory path:' enter the full path of the directory where you exported the data in Step - II
Reply | Threaded
Open this post in threaded view
|

Re: Error - Migrating from Derby to MySQL

Jacques Le Roux
Administrator
Maybe you could add this as a tip at
https://cwiki.apache.org/confluence/display/OFBIZ/FAQ+-+Tips+-+Tricks+-+Cookbook+-+HowTo

Jacques

From: "arvind.kumar.avinash" <[hidden email]>

> If you are still stuck, do as instructed below:
>
> I have used the following versions for this topic:
>
> 1. MySQL: mysql-5.5.23-winx64 (zip) - the topic is still valid for 32 bit
> version
> 2. MySQL JDBC driver: mysql-connector-java-5.1.14-bin.jar - to be placed in
> <ofbiz-dir>/framework/entity/lib/jdbc
> 3. OfBiz: apache-ofbiz-10.04
>
> Step - I
> C:\mysql-5.5.23-winx64\bin>mysql -u root
> mysql>create database ofbiz;
> mysql>create database ofbizolap;
> mysql>create database ofbiztenant;
> mysql>use mysql;
> mysql>select database();
> mysql>create user ofbiz@localhost;
> mysql>create user ofbizolap@localhost;
> mysql>create user ofbiztenant@localhost;
> mysql>update user set password=PASSWORD("ofbiz") where User='ofbiz';
> mysql>update user set password=PASSWORD("ofbizolap") where User='ofbizolap';
> mysql>update user set password=PASSWORD("ofbiztenant") where
> User='ofbiztenant';
> mysql>grant all privileges on *.* to 'ofbiz'@localhost identified by
> 'ofbiz';
> mysql>grant all privileges on *.* to 'ofbizolap'@localhost identified by
> 'ofbizolap';
> mysql>grant all privileges on *.* to 'ofbiztenant'@localhost identified by
> 'ofbiztenant';
>
> Step - II
> Use webtools to export all data to XML:
> a. Start OfBiz
> b. Navigate to http://localhost:8080/catalog/
> c. Go to Applications>WebTools
> d. Go to section 'Entity XML Tools' and click the link 'XML Data Export All'
> - export the data to a directory of your choice
>
> Step - III
> Stop OfBiz server
> Create a backup of <ofbiz-dir>/framework/entity/config/entityengine.xml
> Edit entityengine.xml as follows:
> 1. Add the following datasources below the datasource 'localmysql'
> <datasource name="localmysqlolap"
>            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://127.0.0.1/ofbiz?autoReconnect=true"
>                jdbc-username="ofbizolap"
>                jdbc-password="ofbizolap"
>                isolation-level="ReadCommitted"
>                pool-minsize="2"
>                pool-maxsize="250"
>                time-between-eviction-runs-millis="600000"/>
>    </datasource>
>
> <datasource name="localmysqltenant"
>            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://127.0.0.1/ofbiz?autoReconnect=true"
>                jdbc-username="ofbiztenant"
>                jdbc-password="ofbiztenant"
>                isolation-level="ReadCommitted"
>                pool-minsize="2"
>                pool-maxsize="250"
>                time-between-eviction-runs-millis="600000"/>
>    </datasource>
> 2. Replace derby with mysql in default, default-no-eca and test delegators
> as follows:
> <delegator name="default" entity-model-reader="main"
> entity-group-reader="main" entity-eca-reader="main"
> distributed-cache-clear-enabled="false">
>        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
>        <group-map group-name="org.ofbiz.olap"
> datasource-name="localmysqlolap"/>
>        <group-map group-name="org.ofbiz.tenant"
> datasource-name="localmysqltenant"/>
>    </delegator>
>
>    <delegator name="default-no-eca" entity-model-reader="main"
> entity-group-reader="main" entity-eca-reader="main"
> entity-eca-enabled="false" distributed-cache-clear-enabled="false">
>        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
>        <group-map group-name="org.ofbiz.olap"
> datasource-name="localmysqlolap"/>
>        <group-map group-name="org.ofbiz.tenant"
> datasource-name="localmysqltenant"/>
>    </delegator>
>
>    <delegator name="test" entity-model-reader="main"
> entity-group-reader="main" entity-eca-reader="main">
>        <group-map group-name="org.ofbiz" datasource-name="localmysql"/>
>        <group-map group-name="org.ofbiz.olap"
> datasource-name="localmysqlolap"/>
>        <group-map group-name="org.ofbiz.tenant"
> datasource-name="localmysqltenant"/>
>    </delegator>
> 3. Save this file
>
> Step -IV
> 1. Open ofbiz/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java
> in eclipse and replace sqlBuf.append(" TYPE ") with sqlBuf.append(" ENGINE
> ")
> 2. Save the file and run ofbiz/build.xml
> Note: This is required because TYPE was deprecated in MySQL 4.0 and removed
> in MySQL 5.5. The older TYPE option was synonymous with the new option
> ENGINE
>
> Step -V
> 1. Run the following command from command prompt:
> ofbiz-dir>java -jar ofbiz.jar -install
> 2. Start OfBiz
> 3. Use webtools to import all data from XML:
> a. Navigate to http://localhost:8080/catalog/
> b. Go to Applications>WebTools
> c. Go to section 'Entity XML Tools' and click the link 'XML Data Import Dir'
> -> In the 'Absolute directory path:' enter the full path of the directory
> where you exported the data in Step - II
>
> --
> View this message in context: http://ofbiz.135035.n4.nabble.com/Error-Migrating-from-Derby-to-MySQL-tp2339328p4591905.html
> Sent from the OFBiz - User mailing list archive at Nabble.com.
Reply | Threaded
Open this post in threaded view
|

Re: Error - Migrating from Derby to MySQL

arvind.kumar.avinash
Thanks Jacques! I have added the topic at https://cwiki.apache.org/confluence/display/OFBIZ/FAQ+-+Tips+-+Tricks+-+Cookbook+-+HowTo as suggested by you