MySQL实验中不同字符集数据库迁移步骤是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
今天主要介绍下,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 关键(id),引擎=innodb default charset=use utf8;, create table 病人(id int, name varchar (10), primary 关键(id),引擎=innodb default charset=gb2312;, use t2;, create table t21 (id int, name varchar (10), primary 关键(id),引擎=innodb default charset=use utf8;, create table t22 (id int, name varchar (10), primary 关键(id),引擎=innodb default charset=gb2312;
<强> 2。模拟数据强>
use t1;, insert into t11 价值(1 & # 39;hwb& # 39;);, insert into t11 价值(2 & # 39;hwb2& # 39;);, insert into t12 价值(1 & # 39;hwb& # 39;);, insert into t12 价值(2 & # 39;hwb2& # 39;);,, use t2;, insert into t21 价值(1 & # 39;hwb& # 39;);, insert into t21 价值(2 & # 39;hwb2& # 39;);, insert into t22 价值(1 & # 39;hwb& # 39;);, insert into t22 价值(2 & # 39;hwb2& # 39;);
<强> 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 & # 39; s/CHARSET=gbk/CHARSET=utf8/舌鳎# 39;,/tmp/t1_new_utf8.sql 祝辞,/tmp/t1_new_utf8_new.sql sed & # 39; s/CHARSET=gb2312/CHARSET=utf8/舌鳎# 39;,/tmp/t1_new_utf8_new.sql 祝辞,/tmp/t1_new_utf8_new2.sql , sed & # 39; s/CHARSET=gbk/CHARSET=utf8/舌鳎# 39;,/tmp/t2_new_utf8.sql 祝辞,/tmp/t2_new_utf8_new.sql sed & # 39; s/CHARSET=gb2312/CHARSET=utf8/舌鳎# 39;,/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;MySQL实验中不同字符集数据库迁移步骤是怎样的