首页 > 数据库技术 > 详细

mysql数据迁移

时间:2019-10-27 16:16:45      阅读:75      评论:0      收藏:0      [点我收藏+]

背景:公司由于某种历史原因,导致数据库中新导入的数据与原有字符集不匹配,导入数据后,查询出现乱码,无法正常显示数据信息。

解决方法:导出原有数据库的数据信息,修改字符集后重新导入回去。前提条件是目标字符集需要大于或者等于已有字符集,否则导入失败。

操作过程如下:

===========================================

mysql> show create database  HA;  #查询HA库创建时的默认字符集信息

mysqldump -uroot -p  --default-character-set=latin1  -d HA > hatable.sql  #导出HA库的表结构,按照原有默认字符集导出,否则导出数据可能出错

musqldump -uroot -p --defalult-character-set=latin1  --no-create-info  HA > hadata.sql  #导出HA库的数据,no-create-info表示不要create table语句

使用sed命令或者vim编辑器将hatable.sql和hadata.sql中的latin1批量修改为uft8即可。

mysql> create database new default charset utf8;  #创建新的数据库,用于数据导入

mysql> create database  old  default character set latin1;

myqldump -uroot -p  new < hatable.sql    #导入表结构

mysqldump -uroot  -p  new < hadata.sql    #导入数据

注意:选择目标字符集时,要注意最好大于等于原字符集(字库更大),否则可能会丢失不被支持的数据

mysql> show database new;

mysql>use new;

mysql>show tables;

mysql>select * from tables;    #验证数据信息是否还是乱码,正常显示,则表示成功。

  

 

mysql数据迁移

原文:https://www.cnblogs.com/xiaofeng666/p/11747601.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!