将latin1字符集的数据库修改为gbk字符集 _MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1690 | 回复: 0   主题: 将latin1字符集的数据库修改为gbk字符集         下一篇 
kim
注册用户
等级:中校
经验:1729
发帖:222
精华:0
注册:2011-7-21
状态:离线
发送短消息息给kim 加好友    发送短消息息给kim 发消息
发表于: IP:您无权察看 2015-6-17 16:14:10 | [全部帖] [楼主帖] 楼主

1.导出test用户的表结构

[root@testdb ~]# mysqldump -uroot -p --default-character-set=gbk -d test > createtab.sql


-d 表示只导出表结构,不包含数据

2.手工修改createtab.sql中表结构定义中的字符集为新的GBK字符集

3.确保记录不再更新,导出所有记录

mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 test > data.sql
--quick 转储大表,一次一行地检索表中的行而不是检索所有行,并在输出前缓存在内存中
--no-create-info 不写重新创建每个转储表的create table语句
--extended-insert 使用包括几个values列表的多行insert语法,使转储文件更小,加速插入
--default-character-set=latin1 按照原有的字符集导出所有数据,保证中文可见,不会保存成乱码


4.打开data.sql,将SET NAMES latin1修改成SET NAMES gbk;

5.使用新的字符集GBK创建新的数据库

mysql> create database test_gbk default charset gbk;


6.创建表,执行createtab.sql

[root@testdb ~]# mysql -uroot -p test_gbk < createtab.sql


7.导入数据,执行data.sql

[root@testdb ~]# mysql -uroot -p test_gbk < data.sql


8.OK,搞定!

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论