Database properties
The database properties specify how PageSeeder connects to the database.
The values vary depending on the location of the database engine and the JDBC Driver used.
The DB monitor service can be used to check the health of the PageSeeder server and database connection.
To change the database password, stop PageSeeder and change it in your database engine, then replace the EncryptedPassword
property with LoginPassword=[new password]
and start PageSeeder. PageSeeder will encrypt the password and change the property back to EncryptedPassword
.
Database properties
Property | Description |
---|---|
DBDriver | The name of the class implementing the JDBC Driver interface |
DBURL | The JDBC URL to access the database. If empty then PageSeeder will start without connecting to the database but only the Setup servlet will be enabled. |
HostName | The name of the machine hosting the MySQL database server |
LoginPassword | The password to access the MySQL database – can only be used to reset the EncryptedPassword |
EncryptedPassword | The encrypted password to access the MySQL database |
LoginName | The login to access the MySQL database |
DatabaseName | The name of the MySQL database |
DatabaseType | The type of database used |
MaxConnections | The maximum number of connections in the database pool* – default 100 |
Use the JDBC URL to define driver specific parameters.
If using MySQL JDBC Connector/J v8 or higher do not include?useSSL=false
in the DBURL
property as it is deprecated. This defaults to sslMode=PREFERRED
, meaning it tries to connect with SSL, but will use non-SSL if it's not available.
For extra security on Connector/J v8, use SSL by adding ?sslMode=REQUIRED
to the custom database URL on the Database settings page. This will usually work on Linux servers with OpenSSL (Windows and Linux without OpenSSL require extra configuration of MySQL).
PageSeeder uses the same properties regardless of the driver implementation.
* If MaxConnections > 140 (and < 990), it is recommended to add the following to /etc/my.cnf
on Linux, under [mysqld]
, and restart MySQL.
max_connections=1000 open_files_limit=8192
If using CentOS, append these two lines to /etc/security/limits.conf
mysql hard nofile 8192 mysql soft nofile 8192
On some CentOS systems, you might need to create a file /etc/systemd/system/mysqld.service.d/override.conf
(or limits.conf
) with the contents:
[Service] LimitNOFILE = 8192
After creating the file reload systemd with:
$ systemctl daemon-reload
and restart mysqld and pageseeder to enable the change:
$ systemctl restart mysqld $ service pageseeder restart
To check that the limit has been increased enter the following to find the process ID number:
ps -ef | grep mysqld
and then enter:
cat /proc/[process ID]/limits | grep files
To see how many open files a process currently has enter:
lsof -p [process ID] | wc -l
Other Linux servers might require different configuration to increase the open file limit.
If you find the Too many open files
error in the PageSeeder logs you can also increase its limits using the same process but substituting pageseeder
for mysqld
.
Implementation specific values
MySQL Connector/J
Property | Value |
---|---|
DBDriver | com.mysql.cj.jdbc.Driver |
DBURL | jdbc:mysql://[host]/[database] |
DatabaseType | MySQL |
PostgeSQL driver
Property | Value |
---|---|
DBDriver | org.postgresql.Driver |
DBURL | jdbc:postgresql://[host]/[database] |
DatabaseType | PostgreSQL |