ChileHosting.com
🗄️
Bases de datos

¿Cómo cambiar la zona horaria de MySQL para sincronizarla con la hora local?

Configurar la zona horaria correcta en MySQL y PHP.

Intermedio
Si los registros de tu base de datos están guardando la hora con una diferencia de -3 horas, el problema puede estar en la configuración de zona horaria de MySQL, incluso si ya configuraste PHP.

Aunque hayas establecido 'date.timezone="America/Santiago" en php.ini, MySQL mantiene su propia configuración de zona horaria que es independiente.

Para solucionar esto:

1. **Accede a tu base de datos MySQL** a través de phpMyAdmin o línea de comandos.

2. **Ejecuta el siguiente comando** para verificar la zona horaria actual:
```
SELECT @@global.time_zone, @@session.time_zone;
```

3. **Cambia la zona horaria global** ejecutando:
```
SET GLOBAL time_zone = '-03:00';
```
(Para Chile, usa '-03:00' o '-04:00' según horario de verano)

4. **Verifica en tu archivo de configuración de MySQL** (my.cnf o my.ini). Añade en la sección [mysqld]:
```
default-time-zone = '-03:00'
```

5. **Reinicia el servicio MySQL** para aplicar los cambios permanentes:
```
sudo systemctl restart mysql
```

6. **En tu código PHP**, asegúrate de usar la zona horaria correcta al insertar datos:
```php
date_default_timezone_set('America/Santiago');
```

Luego usa funciones como NOW() en MySQL o date() en PHP de forma consistente.

Si el problema persiste, verifica que el servidor tenga la configuración correcta contactando al equipo de soporte técnico con detalles de tu plan de hosting.
🙋

¿No encontraste lo que buscabas?

Nuestro equipo de soporte está listo para ayudarte.

Contactar soporte