Mysql – How to set MySQL to use GMT in Windows and Linux


I'm just trying to get MySQL to store time in GMT…

I've read the documentation here:

It says to set: default-time-zone='timezone' in an option file.

However, I've googled for several different terms and cannot find possible values "timezone" is supposed to be. I also don't know where in my.ini (and in Linux, my.cnf) to put this directive. Below [msyqld] ?

Best Solution

Go to [mysqld] section of your my.ini file and under that section enter this line

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

'+00:00' indicates the offset from GMT which in your case will be 0. Please note the '+' sign in the string.

You don't need to install any timezone tables for your problem. After restarting the server, your server will operate in the UTC timezone and hence NOW() will give you the time in GMT.

By default, MySQL is set to your SYSTEM timezone ie. your server timezone is same as your system timezone. So you could also change your system time zone to solve your problem, though this is not recommendable.