[转,题目] Linux下时间/时区的设置
Linux机器上的时间比较复杂,有各式各样的时钟和选项等等。机器里有两个时钟,硬件时钟从根本上讲是CMOS时钟,而系统时钟是由内核维护的。
1. 修改硬件时钟
(1)更新机器的硬件时间。命令为:hwclock --adjust
硬件时钟通常被设置成全球标准时间(UTC),而将时区信息保存在/usr/share/lib/timezone (或者在某些系统中可能是/usr/local/timezone)目录下某个适当的文件中,然后用一个符号链接文件/etc/localtime指向它。
(2)查看硬件时钟。命令为:hwclock --show
(3)重置硬件时钟用:hwclock --set --date=mm/dd/yy hh:MM:ss"
2. 修改时区信息。命令为:tzset
如果系统中没有这条命令,那可以用类似下面的操作:
ln -s /etc/localtime /usr/share/zoneinfo/US/Pacific
3. 选择时区信息。命令为:tzselect
根据系统提示,选择相应的时区信息。
4. 修改系统时钟。命令为:date -s
(1)将时间调整为10月11日凌晨1点55分:data 10110155
(2)将系统时间设定成2005年8月8日: date -s 2005/08/08
(3)将系统时间设定成下午8点12分0秒: date -s 20:12:00
该命令是用来修改系统时钟的。在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在执行完 date -s 命令后,如果马上重起系统,修改的时间就有可能没有被写入CMOS。如果要确保修改生效,最好再使用 clock -w 这个命令将系统时间强行写入CMOS。
不过更多的是系统下的数据库所用时区,请在 MySQL 的配置文件内加入下面这一句:
default-time-zone="+8:00"
请加在 [mysqld] 节, 一般配置文件会在如下目录, /etc/my.cnf , 重启生效
如果顺手,可以考虑加上下面这几行, 防止 应用 与 mysql 数据库链接被断开了
wait_timeout = 90
interactive_timeout=28800000
wait_timeout=28800000