Chinaunix首页 | 论坛 | 博客
  • 博客访问: 963744
  • 博文数量: 335
  • 博客积分: 10287
  • 博客等级: 上将
  • 技术积分: 3300
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-08 15:29
文章分类

全部博文(335)

文章存档

2015年(4)

2014年(15)

2013年(17)

2012年(11)

2011年(12)

2010年(96)

2009年(27)

2008年(34)

2007年(43)

2006年(39)

2005年(37)

我的朋友

分类: Mysql/postgreSQL

2006-03-31 16:55:26

    近日笔者工作中遇到MYSQL数据从高版本导入低版本的问题.这样的问题一般都是高低版本字符集的设置不同.按照以往惯例是把数据用mysqldump命令导出数据后,使用文件编辑器(editplus)修改相应的"DEFAULT CHARSET=gb2312"部分,即可顺利导入低版本的MySQL.但当你遇到大量数据(百万级)时,这种方式就显示得杯水车薪了!那么么办呢?现本人就把自己工作中遇到有关MYSQL数据从高版本导入低版本的解决办法总结一下.

   方法一:(适用于当导出的数据量不大时)
   step 1:使用mysqldump命令从源服务器导出成SQL文本
mysqldump -hsrc_dbserver -uroot -p testdb > testdb.sql
   step 2:使用文本编辑器如:editplus,打开testdb.sql,打到需要修改的内容,如:DEFAULT CHARSET=gb2312,修改成与目标服务器相对应的字符集.保存.
   step 3:使用mysql命令将改好后的SQL文本导入目标服务器.OK!
mysql -hdest_dbserver -uroot -p testdb < testdb.sql

   方法二:(适用于当导出的数据量很大时,如万级,百万级数据)
   step 1:在mysql命令模式下,使用show variables 命令查看一下目标服务器的字符集设置情况和MYSQL版本
   step 2:使用如下命令:
mysqldump --compatible=mysql323 -hsrc_dbserver -uroot -p --default-character-set=latin1 testdb > testdb.sql

其中,--compatible=mysql323 是指目标服务器的版本,--default-character-set=latin1 是指目标服务器的字符集设置
   step 3:使用mysql命令将导出的SQL文本导入目标服务器.OK!大功告成!
mysql -hdest_dbserver -uroot -p testdb < testdb.sql

阅读(1496) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~