MySQL修改字符集

Posted Time.catcher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL修改字符集相关的知识,希望对你有一定的参考价值。

mysql数据库修改字符集,介绍一下修改的方法

1)系统工具iconv

#file filename
#mysqldump --default-character-set=utf8 >20180523xxx.sql
#file 20180523xxx.sql
#iconv -t utf8mb4 -c  20180523xxx.sql>20180523xxxutf8mb4.sql
#file 20180523xxxutf8mb4.sql

测试 mysqldump 支持where条件 先用小的文件先测试一下
#mysqldump  --where=”1=1 limit 10000”
#转码之前要看是什么编码,只有中文才需要转码

2)导出导入sed

二)导出导入---sed
1.导出表结构修改字符集设置
#mysqldump --default-character-set=utf8 -d databasename > #createtab20180523.sql
#sed -i s/CHARSET=utf8/CHARSET=utf8mb4/g  createtab20180523.sql 
2.导出表的数据修改字符集
#mysqldump --no-create-info databasename > data20180523.sql
#sed -i s/CHARSET=utf8/CHARSET=utf8mb4/g  data20180523.sql 
3.create database newdatabase default charset utf8mb4
#mysql  newdatabase < createtab20180523.sql
#mysql newdatabase  < data20180523.sql

3)alter table的方式

CREATE TABLE t1 (
  col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  col2 CHAR(10) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
) CHARACTER SET utf8;

#要修改字符集需要注意字段长度,及索引长度,alter table会锁表
ALTER TABLE t1
  DEFAULT CHARACTER SET utf8mb4,
  MODIFY col1 CHAR(10)
    CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  MODIFY col2 CHAR(10)
    CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;

  

以上是关于MySQL修改字符集的主要内容,如果未能解决你的问题,请参考以下文章

Mysql修改字符集

修改mysql表的字符集

MySQL字符编码设置方法

ubantu下mysql5.7默认编码字符集修改

部分代码片段

初探JSP与LEeclipse