​javascript:void(0)​


1、导出表结构

mysqldump -uroot -p --default-character-set=gbk -d [数据库名] >dbdesc.sql

注:--default-character-set=gbk 表示设置以什么字符集连接

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


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

3、请确保你的表中的记录不再更新,导出所有记录

mysqldump -uroot -p --opt --no-create-info --extended-insert --default-character-set=latin1 [数据库] > data.sql

注:--default-character-set=latin1 现有数据库的字符集,防止导出的文件出现乱码

      --opt 快速导出,对于数据非常多的库非常有用



4、打开data.sql 将set names lantin1(根据情况而定) 修改成 set names gbk(新的字符集)

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

create database [新的数据库名] default charaset gbk;


6、创建表执行dbdesc.sql

mysql -uroot -p [新数据库名]< dbdesc.sql

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

mysql -uroot -p [新数据库名]< data.sql