栏目导航
热点推荐
- mysql排序的妙用(类似置顶)
- 优化MySQL的数据库性能的八种方
- MySQL配置文件my.cnf中文版
- linux下mysql命令
- 如何用MySQL-Front远程连接MySql
- 如何修改MySQL 5.1 data文件夹路
- Linux mysql安装修改root密码服
- MySQL Server 5.0安装教程(图解)
- PHP中的MYSQL常用函数
- mysql常见错误提示及解决方法
- MySQL常见错误问答!
- 使用MySQL时的一些常见错误
阅览排行
mysql如何跨时区迁移数据
www.jz123.cn 2010-03-25 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
问: 如果数据表中有时间字段,现在要迁移到其他时区的服务器上,该如何处理呢?
答:在高版本的mysqldump中,新增了一个选项:--tz-utc,默认是启用的,来看看它的说明
SET TIME_ZONE='+00:00' at top of dump to allow dumping of
TIMESTAMP data when a server has data in different time
zones or data is being moved between servers with
different time zones.
看明白了吧。
简言之,就是导出时增加一个说明,把当地时间都转换成0时区的时间,然后再导入,就能确保跨时区迁移数据了,来看下例子:
mysql> select * from t1;
+----+---------------------+
| id | cur_time |
+----+---------------------+
| 1 | 2010-03-14 08:58:18 |
+----+---------------------+
现在导出数据:
mysqldump --tz-utc=1 -t test t1 > t1.sql
#查看内容
cat t1.sql
/*!40103 SET TIME_ZONE='+00:00' */;
....
INSERT INTO `t1` VALUES (1,'2010-03-14 00:58:18');
可以看到,增加了设定时区的标志。
mysqldump --tz-utc=0 -t test t1 > t1_1.sql
#查看内容
cat t1_1.sql
INSERT INTO `t1` VALUES (1,'2010-03-14 08:58:18');
还有更多mysqldump的选项需要去挖掘 :)
上一篇:MySQL也能并发导入数据 下一篇:mysql myisam 优化设置设置