今天主要介绍下mysqldump怎么迁移编码不同的数据库,这里用一个实验来演示一下。
1. 创建测试数据库
- create database t1 default character set gbk collate gbk_chinese_ci;
- create database t2 default character set utf8 collate utf8_general_ci;
- use t1;
- create table t11(id int,name varchar(10),primary key(id)) engine=innodb default charset=utf8;
- create table t12(id int,name varchar(10),primary key(id)) engine=innodb default charset=gb2312;
- use t2;
- create table t21(id int,name varchar(10),primary key(id)) engine=innodb default charset=utf8;
- create table t22(id int,name varchar(10),primary key(id)) engine=innodb default charset=gb2312;
2. 模拟数据
- use t1;
- insert into t11 values(1,'hwb');
- insert into t11 values(2,'hwb2');
- insert into t12 values(1,'hwb');
- insert into t12 values(2,'hwb2');
-
- use t2;
- insert into t21 values(1,'hwb');
- insert into t21 values(2,'hwb2');
- insert into t22 values(1,'hwb');
- insert into t22 values(2,'hwb2');
3. 导出数据库
- mysqldump -u root -p t1 > /tmp/t1_old.sql
- mysqldump -u root -p t2 > /tmp/t2_old.sql
4. 转换编码
如果你是想转成utf-8,就在t参数后面写上。以前字符集是gb2312就在-f参数后面写上。
- iconv -t utf-8 -f gb2312 -c /tmp/t1_old.sql > /tmp/t1_new_utf8.sql
- iconv -t utf-8 -f gb2312 -c /tmp/t2_old.sql > /tmp/t2_new_utf8.sql
5. 修改 /tmp/new_utf8.sql文件的字符编码
- sed 's/CHARSET=gbk/CHARSET=utf8/g' /tmp/t1_new_utf8.sql > /tmp/t1_new_utf8_new.sql
- sed 's/CHARSET=gb2312/CHARSET=utf8/g' /tmp/t1_new_utf8_new.sql > /tmp/t1_new_utf8_new2.sql
-
- sed 's/CHARSET=gbk/CHARSET=utf8/g' /tmp/t2_new_utf8.sql > /tmp/t2_new_utf8_new.sql
- sed 's/CHARSET=gb2312/CHARSET=utf8/g' /tmp/t2_new_utf8_new.sql > /tmp/t2_new_utf8_new2.sql
6. 建新库
- create database t3 default character set utf8 collate utf8_general_ci;
- create database t4 default character set utf8 collate utf8_general_ci;
7. 导入
- use t3;
- source /tmp/t1_new_utf8_new2.sql;
- use t4;
- source /tmp/t2_new_utf8_new2.sql;
8. 测试
到这里就完成了数据库及表不同字符集的迁移测试。
第一课趣味二进制——修改植物大战僵尸数据 任务介绍 学习目标 知识需求 需求工...
1.ajax跨域传递值是所需要的回传的类型为jsonp $.ajax({url: "http://.......",t...
一.前言 .NET Core 是一个通用开发平台,由 Microsoft 和 GitHub 上的 .NET 社区...
首先插件配备好了,写一个HTML测试一下 首先创建一个文件夹,创建一个HTML 文件...
昨天刚学了html的一些内容,就迫不及待的想做个京东上面的搜索条,结果做是做出...
IT之家2月18日消息外媒 Windows Latest 报道,微软正在与谷歌合作进行一项新的改...
文章目录 前言 本周最重要的五件事情 本周搞砸的四件事情 本周的四个启发 前言 ...
在项目开始之前我们可以先去了解一下IConfiguration接口,.Net Core Web应用程序...
JSP spring boot / cloud 使用filter防止XSS 一.前言 XSS(跨站脚本攻击) 跨站脚...
2 月 18 日消息 据外媒 Windowslatest 报道,在预览版本中发现的参考资料表明,...