因为当我在Python脚本中创build一个时间..我希望它匹配MYSQL的时间。
我如何使他们两个太平洋时间?
你没有提到一个操作系统,但是对于RedHat派生它应该是system-config-time
来设置你的时区。 对于MySQL阅读这个URL:
http://dev.mysql.com/doc/refman/5.1/en/mysql-tzinfo-to-sql.html
总结一下,我不得不从操作系统加载时区:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
在mysqld
部分将以下行添加到“/ etc / my.cnf`中,并重新启动:
default-time-zone='Pacific/Honolulu'
鲍勃是你的叔叔:
mysql> SELECT @@global.time_zone, @@session.time_zone; +--------------------+---------------------+ | @@global.time_zone | @@session.time_zone | +--------------------+---------------------+ | Pacific/Honolulu | Pacific/Honolulu | +--------------------+---------------------+ 1 row in set (0.00 sec)
我试了下面的testing脚本:
import MySQLdb import os import re import time import datetime from datetime import date, datetime, time db = 'test' dbhost = 'localhost' dbport = 3306 dbuser = 'test' dbpass = 'test' start_time = datetime.today() con = MySQLdb.connect(host=dbhost, port=dbport, user=dbuser, passwd=dbpass, db=db) cursor = con.cursor() sql = "SELECT current_time;" cursor.execute(sql) list = cursor.fetchall() con.close() print "------------------------------------------------------------------------------------" print "Python time is: " print start_time print print "MYSQL time is:" for result in list: print result[0] print "--
————————————————– ——————————–”
其中输出:
------------------------------------------------------------------------------------ Python time is: 2010-03-30 22:29:19.358184 MYSQL time is: 22:29:19 ------------------------------------------------------------------------------------
你有时区表填入:
mysql> use mysql; mysql> select count(*) from time_zone; +----------+ | count(*) | +----------+ | 1678 | +----------+ 1 row in set (0.00 sec)
在我的服务器上,我将time_zone
设置为“SYSTEM”,如下所述:
http://dev.mysql.com/doc/refman/5.0/en/time-zone-support.html
全局time_zone系统variables表示服务器当前正在运行的时区.time_zone的初始值为“SYSTEM”,表示服务器时区与系统时区相同。