1. 这里说的字符集修改是在已有数据的情况下怎么合理修改字符集和校对规则。
2. 首先,若已有数据的情况下,不能直接修改字符集和校对规则
3. 合理修改步骤:
a. 导出表结构
mysqldump -uroot -p --default-character-set=gbk -d databasename > createtab.sql;
b. 修改表结构定义文件createtab.sql的字符集和校对规则为新的字符集和校对规则。
c.停止更新操作,导出所有已存在记录
mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename > data.sql
---quick : 用于转储大表
--extended-insert : 重载文件时可以加速插入
--no-create-info : 不导出每个转储表的create table 语句
--default-character-set=latin1 按照原有的字符集导出所有数据。
d. 打开data.sql , set names latin1 修改成 set names gbk
e. 打开新的字符集创建新的数据库
create database databasename default charset gbk;
f. 创建表,执行createtab.sql
mysql -uroot -p databasename < createtabl.sql
g. 导入数据,执行data..sql
mysql -uroot -p databasename < createtab.sql