当前位置: 首页 > article >正文

逐梦DBA:Linux下MySQL字符集的处理

MySQL 8.0版本之前,默认字符集为latin1 ,utf8字符集指向的是utf8mb3 。网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL8.0开始,数据库的默认编码将改为utf8mb4 ,从而避免上述乱码的问题。

一、查看默认的字符集

1.1 MySQL5.7字符集

show variables like 'character%';
# 或者
show variables like '%char%';

MySQL 5.7 默认的客户端和服务器都用了latin1 ,不支持中文,保存中文会报错。

1.2 MySQL8.0字符集

show variables like 'character%';
# 或者
show variables like '%char%';

二、修改字符集

1. 修改配置文件

vim /etc/my.cnf

2. 在MySQL5.7或之前的版本中,在文件最后加上中文字符集配置:

character_set_server=utf8

3. 重启MySQL服务

systemctl restart mysqld

三、已有库表的字符集的更新

MySQL5.7版本中,以前创建的库,创建的表字符集还是latin1:

1. 修改已创建数据库的字符集

alter database dbtest1 character set 'utf8';

2. 修改已创建数据表的字符集

alter table t_emp convert to character set 'utf8';

注意:对于之前的数据使用的是旧编码方式,需要将该数据重新导出导入


http://www.kler.cn/a/579615.html

相关文章:

  • OkHttp 之任务调度模块源码分析
  • 为php添加额外的功能模块
  • 论文阅读笔记——OpenVLA: An Open-Source Vision-Language-Action Model
  • YC 孵化项目 Pinch:实时语音翻译视频会议平台;Mistral OCR:能处理多语言多模态复杂文档丨日报
  • 数据量过大的时候导出数据很慢
  • 链式多分支规则树模型结构
  • robotjs获取鼠标位置
  • c++介绍锁四
  • 快速排序(二叉树的前序递归遍历思想)
  • 【three.js】动画系统完全指南 - 从事件循环到工业级动画架构
  • MobileBERT: 一种适用于资源有限设备的紧凑型任务无关BERT
  • 关于C/C++语言的初学者在哪刷题,怎么刷题
  • 软件系统压力测试方案,压力测试报告模版(Word原件)
  • OSPF-单区域的配置
  • 反射是什么?
  • 数学建模-1:对变化建模
  • Python正则表达式完全指南:从入门到精通
  • 【Linux网络(一)】初始网络
  • Linux:多线程(单例模式,其他常见的锁,读者写者问题)
  • ESP8266UDP透传