Troubleshooting

GLPI time zone error with MariaDB or MySQL

Reviewed on 3 min read base de datos errores

If you see the following message during the requirements check when updating or installing GLPI:

Datos de la zona horaria de la base de datos
Activar el uso de zonas horarias.
Las zonas horarias no parecen estar cargadas

(That is: database time zone data; enable the use of time zones; time zones do not seem to be loaded.)

The notice confirms that GLPI cannot enable time zones, but the GLPI version determines whether only the data needs to be loaded or a permission is needed as well.

Why this error happens

GLPI 9.5 introduced the use of TIMESTAMP to work with time zones. In every case, MariaDB or MySQL must have its time zone tables loaded.

  • GLPI 10.0.20 or later: the application user does not need access to mysql.time_zone_name.
  • GLPI earlier than 10.0.20: as well as the loaded data, it needs SELECT on mysql.time_zone_name.

Why you cannot fix it yourself

On shared hosting, the mysql.time_zone_name table belongs to the database system, not to your account. This means that:

  • You do not have administrative permissions to load the time zones with mariadb-tzinfo-to-sql or its alias mysql_tzinfo_to_sql.
  • You cannot run GRANT on system tables if an old version of GLPI requires it.

These operations require administrative privileges on the database server, not necessarily an account called root.

How to fix it

For us to enable time zone support for your GLPI installation:

  1. Log in to the client area.
  2. Go to the Help section and open a new ticket.
  3. Say that you need to enable time zone support in MariaDB/MySQL for GLPI and include the GLPI version and your database user name, which you will find in config/config_db.php. Do not send the password.

Our team will make the necessary changes and let you know when it is ready so you can carry on with the update.

If you are updating from an old version and GLPI detects DATETIME columns, also check the official php bin/console glpi:migration:timestamps command; it can be a long migration and should be tested with a verified backup.

See the official GLPI time zone documentation. MySQL limits TIMESTAMP to January 2038; MariaDB extended that range from version 11.5. Consider the server's effective limit if the application needs to store later dates.

Check after the change

Run the requirements check again with the same PHP and connection GLPI uses. Then test viewing and editing a date in the expected time zone. Changing the time zone in PHP does not load the MySQL time zone tables or complete a column migration.

If a timestamp migration is requested, keep the initial state and review its duration and result on a clone. Do not run the command several times in parallel or change all the columns directly with SQL without the procedure for that version.

You may also find useful

Something wrong or out of date? Tell us and we will review it.