关系型数据库实验中不同字符集数据库迁移步骤是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
今天主要介绍下逻辑备份怎么迁移编码不同的数据库,这里用一个实验来演示一下。
1. 创建测试数据库
createdatabaset 1 default characters setgbkcollategbk _ Chinese _ ci;createdatabaset2 default characters setutf 8 collate F8 _ general _ ci;uset1createtablet11(idint,namevarchar(10),primarykey(id))engine=innodefaultcharset=utf8;创建表12(idint,namevarchar(10),primarykey(id))engine=innodefaultcharset=GB 2312;uset2create table 21(idint,namevarchar(10),primarykey(id))engine=innodefaultcharset=utf8;创建表22(idint,namevarchar(10),primarykey(id))engine=innodefaultcharset=GB 2312;
2. 模拟数据
用途1插入t11值(1,‘hwb’);插入t 11值(2,‘hwb 2’);insertintot12values(1,' hwb ');插入到T12值(2,‘hwb 2’);用途2插入t21值(1,‘hwb’);插入t21值(2,‘hwb 2’);插入到t22值(1,‘hwb’);插入到t22值(2,‘hwb 2’);
3. 导出数据库
MySQL dump-uroot-pt1/tmp/t1 _ old。sqlmysql dump-uroot-pt2/tmp/T2 _ old。SQL
4. 转换编码
如果你是想转成utf-8,就在t参数后面写上。以前字符集是gb2312就在-f参数后面写上。
iconv-tutf-8-fgb 2312-c/tmp/t1 _ old。SQL/tmp/t1 _ new _ utf8。sqliconv-tutf-8-fgb 2312-c/tmp/T2 _ old。SQL/tmp/T2 _ new _ utf8。SQL
5. 修改 /tmp/new_utf8.sql文件的字符编码
一项Linux指令的/CHARSET=gbk/CHARSET=utf-8/g '/tmp/t1 _ new _ utf-8。SQL/tmp/t1 _ new _ utf 8 _ new。sqlsed的/CHARSET=GB 2312/CHARSET=utf 8/g '/tmp/t1 _ new _ utf 8 _ new。SQL/tmp/t1 _ new _ utf 8 _ new 2。sqlsed的/CHARSET=gbk/CHARSET=utf-8/g '/tmp/T2 _ new _ utf-8
6. 建新库
createdatabaset3 default characters setutf 8 collate F8 _ general _ ci;createdatabaset4 default characters setutf 8 collate F8 _ general _ ci;
7. 导入
uset 3 source/tmp/t1 _ new _ utf8 _ new 2。SQL用途4;来源/tmp/T2 _ new _ utf8 _ new 2。SQL8. 测试
到这里就完成了数据库及表不同字符集的迁移测试。
关于关系型数据库实验中不同字符集数据库迁移步骤是怎样的问题的解答就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/125348.html