Difference between revisions of "MySQL - OpenKM 6.2"
From OpenKM Documentation
(→Database creation) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
<source lang="java"> | <source lang="java"> | ||
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect | hibernate.dialect=org.hibernate.dialect.MySQL5Dialect | ||
+ | hibernate.hbm2ddl=create | ||
+ | </source> | ||
+ | |||
+ | or | ||
+ | |||
+ | <source lang="java"> | ||
+ | hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect | ||
hibernate.hbm2ddl=create | hibernate.hbm2ddl=create | ||
</source> | </source> | ||
Line 22: | Line 29: | ||
mysql> show engines; | mysql> show engines; | ||
</source> | </source> | ||
+ | |||
+ | {{Note|You can use the '''org.hibernate.dialect.MySQL5InnoDBDialect''' dialect and avoid changing the default MySQL Storage Engine.}} | ||
Edit /etc/mysql/my.cnf and under [mysqld] section in your ini file, add: | Edit /etc/mysql/my.cnf and under [mysqld] section in your ini file, add: | ||
Line 40: | Line 49: | ||
CREATE USER openkm@localhost IDENTIFIED BY '*secret*'; | CREATE USER openkm@localhost IDENTIFIED BY '*secret*'; | ||
GRANT ALL ON okmdb.* TO openkm@localhost WITH GRANT OPTION; | GRANT ALL ON okmdb.* TO openkm@localhost WITH GRANT OPTION; | ||
+ | </source> | ||
+ | |||
+ | You can check the database engine with: | ||
+ | |||
+ | <source lang="bash"> | ||
+ | $ mysqlshow -h localhost -u root -p --status okmdb; | ||
</source> | </source> | ||
Line 68: | Line 83: | ||
</security:authentication-manager> | </security:authentication-manager> | ||
</source> | </source> | ||
+ | |||
+ | == More information == | ||
+ | * [http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html InnoDB Performance Tuning Tips] | ||
+ | * [http://dba.stackexchange.com/questions/21209/innodb-high-disk-write-i-o-on-ibdata1-file-and-ib-logfile0 InnoDB - High disk write I/O on ibdata1 file and ib_logfile0] | ||
[[Category: Installation Guide]] | [[Category: Installation Guide]] |
Latest revision as of 09:54, 5 November 2013
In this OpenKM release you can create the databases automatically configuring the hibernate.dialect and hibernate.hbm2ddl properties in OpenKM.cfg.
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl=create
or
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.hbm2ddl=create
Once the tables are created, OpenKM will automatically change the hibernate.hbm2ddl property from create to none.
More info about this at:
Database creation
Check if your MySQL installation has InnoDB engine enabled:
$ mysql -h localhost -u root -p
mysql> show engines;
You can use the org.hibernate.dialect.MySQL5InnoDBDialect dialect and avoid changing the default MySQL Storage Engine. |
Edit /etc/mysql/my.cnf and under [mysqld] section in your ini file, add:
default-storage-engine = innodb
Starting with OpenKM 6.0, only one database is needed. |
Now create databases and user:
DROP DATABASE IF EXISTS okmdb;
CREATE DATABASE okmdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
CREATE USER openkm@localhost IDENTIFIED BY '*secret*';
GRANT ALL ON okmdb.* TO openkm@localhost WITH GRANT OPTION;
You can check the database engine with:
$ mysqlshow -h localhost -u root -p --status okmdb;
More info at MySQL: Case Sensitivity in String Searches.
Tomcat datasources
$ vim $TOMCAT_HOME/conf/server.xml
<Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1"
username="openkm" password="*secret*" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/okmdb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"/>
Login configuration
$ vim $TOMCAT_HOME/OpenKM.xml
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider>
<security:password-encoder hash="md5"/>
<security:jdbc-user-service
data-source-ref="dataSource"
users-by-username-query="select usr_id, usr_password, 1 from OKM_USER where usr_id=? and usr_active='T'"
authorities-by-username-query="select ur_user, ur_role from OKM_USER_ROLE where ur_user=?"/>
</security:authentication-provider>
</security:authentication-manager>