tags:

views:

1822

answers:

5

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

I've read the documentation here: http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html

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] ?

Thanks for the help.

A: 

Yes, that's a server option for mysqld, and so should be put in the [mysqld] section.

Also, regarding values, see The Definitive Guide to MySQL 5

Stobor
And what is the string for GMT... I have yet to find a table listing acceptable values for "timezone"
+1  A: 

The MySQL Timezone table is not loaded by default, which might be why you're experiencing difficulties. You need to load the timezone table and then set your timezone using the instructions above.

yaauie
A: 

Screw this... DATETIME, although much easier on the eye when viewing tables, isn't worth this nightmare.

I'm just going to use TIMESTAMP.

+1  A: 

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.

Rishi Agarwal
Thank you so much.. exactly what I was looking for. I couldn't find this documented anywhere!