Show last authors
1 {{toc start="" depth="" numbered=""/}}
3 = Installation Steps =
5 Follow these instructions:
7 * Download and install [[MySQL>>]] 5.X or greater {{warning}}XWiki does not fully work with MySQL versions 4.x or lower, due to several limitations of the way the SQL standards are implemented in MySQL, limited support for non-latin1 encodings, the flaky integration of Hibernate and MySQL 4, and other things. Most of the application works fine, but there are some parts that cannot easily be fixed, so if you must use MySQL 4.x, you're doing it on your own. Seriously, MySQL 4 is pretty old and buggy, you should consider upgrading.{{/warning}}
8 * Start the MySQL server. You can do that in several ways. For example:
10 {{code language="none"}}
11 mysqld --console
12 {{/code}}
14 * Create the wiki database. You can do that in several ways. For example:
16 {{code language="none"}}
17 mysql -u root -e "create database xwiki"
18 {{/code}}
20 * Give all privileges to the xwiki user for accessing the xwiki database. You can do that in several ways. For example (if you get connections problems try localhost instead of the IP address below):
22 {{code language="none"}}
23 mysql -u root -e "grant all privileges on xwiki.* to xwiki@localhost identified by 'xwiki'"
24 {{/code}}
26 * Please make sure that the DNS-name "localhost" is defined in your hosts-file (i.e. /etc/hosts)
27 * You need to have the MySQL JDBC Driver JAR (named ##mysql-connector-java*.jar## installed in XWiki's WAR file. If this file isn't present in XWiki's ##WEB-INF/lib## directory you'll need to download it and copy it there. You can download it from the [[MySQL Connector/J Driver page>>]] or directly from the [[Maven Central Repository>>]].
28 * Now you need to tell XWiki to use MySQL. To do this, edit the ##WEB-INF/hibernate.cfg.xml## file where you have expanded the XWiki WAR file and replace the matching properties with the following ones:
30 {{code language="xml"}}
31 <property name="connection.url">jdbc:mysql://localhost/xwiki</property>
32 <property name="connection.username">xwiki</property>
33 <property name="connection.password">xwiki</property>
34 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
35 <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
36 {{/code}}
38 Note: By default MySQL only accepts packets smaller than 1MB. If you get the "Packet for query is too large (max_allowed_packet)" error then see the [[Packet too large error page>>]]. For example to increase the packet size to 32M you could start the MySQL server with:
40 {{code language="none"}}
41 mysqld --console --max_allowed_packet=32M
42 {{/code}}
44 = Troubleshooting =
46 == Can't create test file ==
48 When running ##mysqld ~-~-console## you may get the following (especially if you're on Mac):
50 {{code language="none"}}
51 071111 17:20:53 [Warning] Can't create test file /usr/local/mysql-5.0.45-osx10.4-i686/data/Vincent.lower-test
52 071111 17:20:53 [Warning] Can't create test file /usr/local/mysql-5.0.45-osx10.4-i686/data/Vincent.lower-test
53 mysqld: Can't change dir to '/usr/local/mysql-5.0.45-osx10.4-i686/data/' (Errcode: 13)
54 071111 17:20:53 [ERROR] Aborting
55 {{/code}}
57 To start MySQL run the following instead:
59 {{code}}
60 sudo /usr/local/mysql/bin/mysqld_safe --user=mysql
61 {{/code}}
63 == Data Truncation Error ==
65 If you receive an Exception like the following while installing / upgrading XWiki:
67 {{code language="none"}}
68 Caused by: java.sql.BatchUpdateException: Data truncation: Out of
69 range value adjusted for column 'XWD_HIDDEN' at row 1
70 at com.mysql.jdbc.PreparedStatement.executeBatch(
71 at org.apache.commons.dbcp.DelegatingStatement.executeBatch(
72 at org.apache.commons.dbcp.DelegatingStatement.executeBatch(
73 at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(
74 at org.hibernate.jdbc.AbstractBatcher.executeBatch(
75 {{/code}}
77 chances are, that you are using an outdated version of MySQLConnectorJ.
79 On Linux, mysql-connector-java-3.x has proven **not** to work due to a bug in the handling of UTF-8, and lack of support for Boolean types.
81 Upgrade to the latest version of MySQLConnectorJ should solve such an error in most of the cases.

Get Connected