🗄️
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.
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.
Artículos relacionados
❓
❓
🗄️
¿Es posible aumentar el número de conexiones simultáneas a las bases de datos en mi hosting compartido?
Límites de conexiones simultáneas en servidores compartidos.
¿Por qué recibo un error 500 al generar archivos PDF desde mi base de datos MySQL?
Soluciona problemas al generar PDFs desde MySQL.
¿Es posible crear una base de datos MySQL de forma remota desde una aplicación en C# usando conectores?
Crear bases de datos MySQL remotamente desde aplicaciones externas.
🙋
¿No encontraste lo que buscabas?
Nuestro equipo de soporte está listo para ayudarte.
Contactar soporte