1。在mysql的命令模式下使用
创新互联是一家集网站建设,张家川回族自治企业网站建设,张家川回族自治品牌网站建设,网站定制,张家川回族自治网站建设报价,网络营销,网络优化,张家川回族自治网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
mysql
select
CURTIME();
或
mysql
select
now();
看当前时间是否正确,可以看到mysql当前使用的是那一个时区的时间。
2。在mysql命令行中更改时区
mysql
SET
time_zone
=
'+8:00';
#
此为北京时,我们所在东8区
mysql
flush
privileges;
#
立即生效
此时mysql时区已更改正确,与系统时区都使用为
Shanghai时间了。
####
这种方法好像只能在终端上使用,退出终端后时间又会变成原来的,看来只能重启mysql了。
3。重启mysql也应没有问题,此时mysql会主动读取系统时间。
方法二:
如果mysql数据库可以重启,直接重启,mysql应可以立即主动读取系统时间,如果不行则更改mysql的配置文件(mysql.cnf)
在my.cnf的
[mysqld]区域中加上
default-time_zone
=
'+8:00'
#此为北京时。
补充:
如果想临时解决时间显示问题,可以用php或其他语言动态修改下mysql的时区。
具体方法:
在mysql_connect()下使用mysql_query("SET
time_zone
=
'+8:00'")。
这样可以在保证你不重启的情况下改变时区。但是mysql的某些系统函数还是不能用如:now()。
怎样修改mysql中的时间和日期?
建议你安装PHPMYADMIN或者MYSQL-FRONT这类软件,用它们来修改就比较简单。
另外一个办法,在留言前修改服务器的系统时间,这样保存的留言就是以前的。
东京的时区是东九区,比我们北京东八区多1个时区,所以+9就是东京时间了
那我们怎么修改,有两种方法,一种是临时的,一种是长久的。
一:通过sql命令临时修改
# 设置全局时区 mysql set global time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
# 设置时区为东八区 mysql set time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
# 刷新权限使设置立即生效 mysql flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | EST |
| time_zone | +08:00 |
+------------------+--------+
2 rows in set (0.00 sec)
二:修改my.cnf实现永久修改
vi /etc/mysql/my.cnf
然后在mysqld下边的配置中添加一行:
default-time_zone = '+8:00'
然后重启mysql
service mysql restart
docker中的mysql时区是使用了世界标准时间(UTC),把时区改成东八区方法:
1、启动容器时设置: 添加如下配置:
2、进入docker配置:(重启才能生效--永久生效)
3、临时修改(从mysql上修改,重启失效)
应用场景:
1、在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间;2、在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录修改时间;实现方式:
1、将字段类型设为 TIMESTAMP
2、将默认值设为 CURRENT_TIMESTAMP
举例应用:
1、MySQL 脚本实现用例
--添加CreateTime 设置默认时间 CURRENT_TIMESTAMPALTER TABLE `table_name`
ADD COLUMN `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;--修改CreateTime 设置默认时间 CURRENT_TIMESTAMPALTER TABLE `table_name`
MODIFY COLUMN `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;--添加UpdateTime 设置 默认时间 CURRENT_TIMESTAMP 设置更新时间为 ON UPDATE CURRENT_TIMESTAMPALTER TABLE `table_name`
ADD COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' ;--修改 UpdateTime 设置 默认时间 CURRENT_TIMESTAMP 设置更新时间为 ON UPDATE CURRENT_TIMESTAMPALTER TABLE `table_name`
MODIFY COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间' ;2、MySQL工具设置