Skip to main content


PageSeeder installation and upgrade instructions

Configuring MySQL

Install MySQL 5.7

PageSeeder supports MySQL 5.6.4 or higher and if this is a new installation, it is generally best to install the latest release of 5.7 from .

MySQL 8 is not yet supported by PageSeeder. See warning in following JDBC section.

  • On Linux use commands (CentOS 6) like:
$ rpm -Uvh
  • Or (CentOS 7)
$ rpm -Uvh
$ yum install mysql-server

Changing where data is stored

On Linux MySQL usually stores data under /var/lib/mysql but if you want to use mounted storage for pageseeder (for example storage mapped to the /opt folder) you can configure MySQL to store data there as well. To do this follow these steps:

Stop MySQL by entering:

$ service mysqld stop

Move the existing MySQL data to the new location

$ mv /var/lib/mysql /opt/mysql

Edit the /etc/my.cnf file as follows:


Start MySQL by entering:

$ service mysqld start

Upgrading 5.6 to 5.7

Upgrading from MySQL 5.6 to 5.7 requires editing the following file:


To the end of the DBURL add:


for example.


Also, add (or modify) the following line in my.ini or my.cnf:


Finally, ensure that mysql-connector-java-5.1.39.jar or newer is in pageseeder/webapp/WEB-INF/lib and drivers folders.

Restart PageSeeder after making these changes.

Install the JDBC driver

The PageSeeder app requires a JDBC driver to communicate with MySQL. Download the appropriate version of MySQL Connector/J (JDBC Driver) for your MySQL and extract it on your server.

Do not use Connector/J v8 or newer due to the possible error: “The server time zone value ‘AEDT’ is unrecognized or represents more than one time zone”.

  • On Windows it can be downloaded from  . Subject to Oracle/MySQL website changes, older versions of Connector/J versions are listed under ‘Archive’ in the ‘Downloads’ section.
  • On Linux, use the following commands (URL and version might have changed):
$ wget
$ tar xzvf mysql-connector-java-5.1.45.tar.gz

The PageSeeder installer asks for the location of the JDBC driver JAR file to be identified.

Use UTF-8mb4 character set

To correctly process special characters (see Character Encoding), MySQL must be configured for UTF-8mb4. To do this edit the following:

  • on Windows (to see the ProgramData folder might require showing “hidden” items)
\ProgramData\MySQL\MySQL Server 5.7\my.ini
  • on Linux

When saving edits, do NOT change the file encoding from ascii. Doing so might prevent MySQL from starting.

After [mysqld] (add it if it doesn't exist), add or modify the following line:


Change any other character-set properties to utf8mb4

Add (or modify) the following line as shown:


If spare RAM is available increase the InnoDB buffer to 80% of available RAM (minus what is used by  other processes). For example, with 6GB total RAM and PageSeeder using 1GB, the InnoDB buffer could be set to 4GB by adding:


on Windows restart MySQL using the Services Control Panel, on Linux type:

$ service mysqld restart


$ service mysql restart

On Amazon RDS, the only value that MUST be set using DB parameter groups is:


To increase the number of Database connections, see  Database Properties.

Backup and restore

When manually creating a PageSeeder database, DO NOT use uft8mb4, DO use utf8 as shown in the following command.

However, to backup use --default-character-set=utf8mb4 and -r flag.

To backup the PageSeeder database use a command like this:

$ mysqldump --single-transaction -u pageseeder -p --default-character-set=utf8mb4 -r ps.sql pageseeder

Restore with overwrite

To overwrite an existing database first drop it, then recreate it using commands like this:

$ mysql -u root -p
drop database pageseeder;
create database pageseeder character set utf8;
grant all on pageseeder.* to pageseeder@localhost;

To restore the PageSeeder database use a command like this:

$ mysql -u pageseeder -p pageseeder < ps.sql

Restore with create

If no database or user exists, create them using commands like this:

$ mysql -u root -p
create database pageseeder character set utf8;
create user pageseeder@localhost identified by '<password>';
grant all on pageseeder.* to pageseeder@localhost;

To restore the PageSeeder database use a command like this:

$ mysql -u pageseeder -p pageseeder < ps.sql

If PageSeeder is running on a different server to MySQL, replace @localhost with @"%"

On Linux if you get an error ERROR 2006 (HY000) at line 207: MySQL server has gone away while restoring add max_allowed_packet=32M just under [mysqld]in the /etc/my.cnf file and restart MySQL before trying again.

Created on , last edited on