MySQL实验之不同字符集数据库迁移步骤演示

数据库 MySQL
今天主要介绍下mysqldump怎么迁移编码不同的数据库,这里用一个实验来演示一下。

今天主要介绍下mysqldump怎么迁移编码不同的数据库,这里用一个实验来演示一下。

1. 创建测试数据库

  1. create database t1 default character set gbk collate gbk_chinese_ci; 
  2. create database t2 default character set utf8 collate utf8_general_ci; 
  3. use t1; 
  4. create table t11(id int,name varchar(10),primary key(id)) engine=innodb default charset=utf8
  5. create table t12(id int,name varchar(10),primary key(id)) engine=innodb default charset=gb2312
  6. use t2; 
  7. create table t21(id int,name varchar(10),primary key(id)) engine=innodb default charset=utf8
  8. create table t22(id int,name varchar(10),primary key(id)) engine=innodb default charset=gb2312

mysql实验--不同字符集数据库迁移步骤演示

mysql实验--不同字符集数据库迁移步骤演示

2. 模拟数据

  1. use t1; 
  2. insert into t11 values(1,'hwb'); 
  3. insert into t11 values(2,'hwb2'); 
  4. insert into t12 values(1,'hwb'); 
  5. insert into t12 values(2,'hwb2'); 
  6. ​ 
  7. use t2; 
  8. insert into t21 values(1,'hwb'); 
  9. insert into t21 values(2,'hwb2'); 
  10. insert into t22 values(1,'hwb'); 
  11. insert into t22 values(2,'hwb2'); 

mysql实验--不同字符集数据库迁移步骤演示

mysql实验--不同字符集数据库迁移步骤演示

mysql实验--不同字符集数据库迁移步骤演示

3. 导出数据库

  1. mysqldump -u root -p t1 > /tmp/t1_old.sql 
  2. mysqldump -u root -p t2 > /tmp/t2_old.sql 

mysql实验--不同字符集数据库迁移步骤演示

4. 转换编码

如果你是想转成utf-8,就在t参数后面写上。以前字符集是gb2312就在-f参数后面写上。

  1. iconv -t utf-8 -f gb2312 -c /tmp/t1_old.sql > /tmp/t1_new_utf8.sql 
  2. iconv -t utf-8 -f gb2312 -c /tmp/t2_old.sql > /tmp/t2_new_utf8.sql 

mysql实验--不同字符集数据库迁移步骤演示

mysql实验--不同字符集数据库迁移步骤演示

5. 修改 /tmp/new_utf8.sql文件的字符编码

  1. sed 's/CHARSET=gbk/CHARSET=utf8/g' /tmp/t1_new_utf8.sql > /tmp/t1_new_utf8_new.sql 
  2. sed 's/CHARSET=gb2312/CHARSET=utf8/g' /tmp/t1_new_utf8_new.sql > /tmp/t1_new_utf8_new2.sql 
  3. ​ 
  4. sed 's/CHARSET=gbk/CHARSET=utf8/g' /tmp/t2_new_utf8.sql > /tmp/t2_new_utf8_new.sql 
  5. sed 's/CHARSET=gb2312/CHARSET=utf8/g' /tmp/t2_new_utf8_new.sql > /tmp/t2_new_utf8_new2.sql 

mysql实验--不同字符集数据库迁移步骤演示

mysql实验--不同字符集数据库迁移步骤演示

mysql实验--不同字符集数据库迁移步骤演示

6. 建新库

  1. create database t3 default character set utf8 collate utf8_general_ci; 
  2. create database t4 default character set utf8 collate utf8_general_ci; 

mysql实验--不同字符集数据库迁移步骤演示

7. 导入

  1. use t3; 
  2. source /tmp/t1_new_utf8_new2.sql; 
  3. use t4; 
  4. source /tmp/t2_new_utf8_new2.sql; 

8. 测试

mysql实验--不同字符集数据库迁移步骤演示

mysql实验--不同字符集数据库迁移步骤演示

到这里就完成了数据库及表不同字符集的迁移测试。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2011-03-03 15:16:43

DB2数据库迁移

2011-05-18 10:36:21

数据库数据导入

2011-09-23 09:09:38

数据库迁移

2010-09-25 09:24:30

私有云迁移

2019-09-10 07:58:01

字符集MySQL数据库

2010-07-22 09:42:47

SQL Server

2011-05-11 10:26:36

MySQL数据库无缝迁移

2010-06-04 09:33:28

连接MySQL数据库

2010-05-12 18:41:34

MySQL数据库

2010-06-09 17:36:45

MySQL数据库同步

2010-05-28 14:51:47

MySQL数据库

2017-05-25 10:23:13

数据a表b表

2011-07-19 14:48:36

处理blob字段

2010-04-13 12:23:34

Oracle数据库

2010-04-21 09:49:10

Oracle数据库字符

2019-05-10 08:27:12

MySQL数据库字符集

2010-08-13 09:31:54

DB2数据库迁移

2010-07-27 09:38:11

DB2数据库设计

2010-06-02 11:34:23

MySQL 数据库导入

2010-04-23 10:18:42

Oracle数据库字符
点赞
收藏

51CTO技术栈公众号