MySQL, a popular open-source relational database management system, allows you to store and manipulate vast amounts of data efficiently. When working with global applications or systems that require accurate time-related operations, ensuring that the database’s time zone is properly configured becomes essential. 

In this step-by-step guide, we will explore changing the time zone in a MySQL database, enabling you to maintain consistent and accurate time representation.

Method: 1

Step 1: Verify Current Time Zone Configuration

Before making any changes, it’s crucial to identify the current time zone configuration in your MySQL database. To accomplish this, connect to your MySQL server using a MySQL client, such as the command-line interface (CLI) or a graphical user interface (GUI) tool like phpMyAdmin. Execute the following SQL query to retrieve the current time zone:

SELECT @@global.time_zone;

This query will provide you with the current time zone setting.

Step 2: Modify Global Time Zone

To change the time zone in your MySQL database, you need to modify the global time zone setting. The global time zone affects the entire MySQL server and any databases or connections within it. Execute the following SQL statement to change the global time zone:

SET GLOBAL time_zone = 'timezone';

Replace ‘timezone’ with the desired time zone. For example, if you want to set the time zone to UTC, use the following command:

SET GLOBAL time_zone = '+00:00';

Step 3: Modify the Session Time Zone

While changing the global time zone affects the MySQL server as a whole, individual client sessions may still have their time zone settings. To ensure consistent time representation across all sessions, it’s essential to modify the session time zone. Execute the following SQL statement to change the session time zone:

SET time_zone = 'timezone';

Again, replace ‘timezone’ with the desired time zone.

Step 4: Verify Time Zone Changes

To verify that the time zone changes have been applied successfully, execute the following SQL queries:

SELECT @@global.time_zone;
SELECT @@session.time_zone;

These queries will display the global and session time zone settings, respectively. Confirm that the output matches the desired time zone.

Step 5: Restart MySQL Server (If Necessary)

In some cases, changes to the global time zone setting may require a server restart for the modifications to take effect. If you have made the necessary changes but still notice inconsistencies, consider restarting the MySQL server to ensure proper synchronization.

Method: 2

Step 1. Locate my.cnf File

The my.cnf file is typically located in the MySQL installation directory. The exact location can vary depending on your operating system and MySQL installation method. Common paths include \etc\my.cnf, \etc\mysql\my.cnf, or C:\Program Files\MySQL\MySQL Server X.X\my.ini on Windows.

Use the appropriate file explorer or command line tool to navigate to the directory containing the my.cnf file. If you are unable to find it, refer to the MySQL documentation or consult your system administrator for assistance.

Step 2: Backup my.cnf File (Optional, but Recommended)

Before making any modifications to my.cnf file, it’s advisable to create a backup in case any issues arise. This ensures that you can revert to the original configuration if necessary. Simply make a copy of the my.cnf file and store it in a safe location.

Step 3: Open my.cnf File for Editing

Using a text editor, open the my.cnf file for editing. Ensure that you have the necessary permissions to modify the file. On Linux-based systems, you may need to use sudo or a privileged user account to access and modify the file.

Step 4: Locate the [mysqld] Section

Within my.cnf file, locate the [mysqld] section. This section contains configuration options specific to the MySQL server. If the [mysqld] section doesn’t exist, create it at the end of the file on a new line.

Step 5: Update the Time Zone Setting

Add or modify the time zone setting within the [mysqld] or [client-server] section. Use the following syntax:

default-time-zone = "timezone"

Replace ‘timezone’ with the desired time zone. For example, if you want to set the time zone to UTC, the line would be:

default-time-zone = "+00:00"

Step 6: Save and Close my.cnf File

After updating the time zone setting, save the changes to my.cnf file and close the text editor.

Step 7: Restart the MySQL Server


Configuring the time zone in your MySQL database is crucial for accurate time-related operations, especially in global applications. By following this guide, you can easily modify the time zone settings in your MySQL database. Remember to verify the current time zone, change the global and session time zones, and confirm the changes to ensure that the desired time zone is accurately reflected.

Maintaining the correct time zone setting in your MySQL database enhances the reliability and consistency of your data, allowing for seamless integration with applications and systems that rely on accurate time representation.

Rehan Butt

View all posts

Add comment