How to change default time zone in MySQL?

Is it possible to change the time zone in MySQL?

Yes we can change the default time zone in MySQL via command-line. We can’t change the time zone for a single DB, it’s a global change. To change this feature, you must have the root privilege to the server. We have to edit the MySQL configuration file to change the time zone of MySQL server from its default.

By default the MySQL server time is same as the SYSTEM time. We can check this by using the following commands:

To check the server time

>> date

Example

[[email protected] ~]# date
Mon Feb 23 07:04:32 EST 2015

To check MySQL server time

>> mysql -e “SELECT NOW();”

[[email protected] ~]# mysql -e "SELECT NOW();"
+---------------------+
| NOW()               |
+---------------------+
| 2015-02-23 07:04:30 |
+---------------------+

mysql-time-zone

How to change the MySQL server time from command line?

We can change this by adding the following directives to the MySQL configuration file. Please do follow the steps pasted below:

>> Log into server as root user.
>> To check MySQL’s current time zone settings, execute the following command:

mysql -e “SELECT @@global.time_zone;”

Example

[[email protected] ~]# mysql -e "SELECT @@global.time_zone;"
+--------------------+
| @@global.time_zone |
+--------------------+
| SYSTEM             |
+--------------------+

It means MySQL is using server SYSTEM default time. To change this, you need to add the following directive into the MySQL conf file.

>> “default-time-zone”

1, Open MySQL conf by using your favorite editor;

vi /etc/my.cnf

====
default-time-zone = '-06:00'
====

2, Restart MySQL

service mysql restart

That’s it!!! Now check the current MySQL server time by using the command mysql -e “SELECT NOW();”.

Try it and let me know if you have any questions on it.

Also read

1, Impossible to create database’s user::MySQL governor
2, Performance tuning script for MySQL – Command-line Mysql Tuner
3, Simple PHP script to check the MySQL database connection from web-browser

Arunlal Ashok

Sr. Linux Server Administrator. I'm managing Linux servers since 2012. I started this blog to share and discuss my ideas. Check My Profile in uPwork (oDesk) and create a job, if you need any administration help. Thanks!!

You may also like...

4 Responses

  1. Renan Souza says:

    Thank you so much! I had to open thousand tabs of my browser until I get here! I am using Windows and changing the file /mysql/my.ini after the section [mysqld] putting this one line code ‘default-time-zone=”+00:00″‘ This saved my life!

  2. Balanandam says:

    It’s not working for me in 5.7 windows environment.

    default-time-zone=’-06:00′ or
    default-time-zone=-06:00 or

    default-time-zone=”-06:00″

Leave a Reply

Your email address will not be published. Required fields are marked *