如何将Linux上部署的5.7MySql数据库编码修改utf8(最新版)

如何将Linux(服务器)上部署的5.7MySql数据库编码修改utf8(最新版)


前言 `提示:这里可以添加本文要记录的大概内容:`

今天笔者在将Springboot与vue前后端分离项目部署在服务器上成功后,却发现在服务器的MySql数据库编码出现了问题,即不能存储中文数据,后来查数据库的编码方式(show variables like 'character%';)才发现第3行和第6行出现了问题,编码为latin1而不是utf8,如下图,


一、解决办法

注意事项:以下需要修改的文件均是只可读文件,若需要修改,则需要修改自己权限(sudo)或者以root身份修改

步骤1

首先找到my.cnf文件(路径为/etc/mysql/my.cnf)

步骤2(此处为问题描述吐槽,可以直接跳过该步骤到步骤三)

笔者找遍了其他博客都说是在/etc/mysql/my.cnf匹配文件中新添加字段,但是发现自己的my.cnf文件中却空空如也,没有他们所说的client,mysqld字段。

别人的my.cnf配置文件

自己的my.cnf配置文件


步骤3

首先找到conf.d文件(路径为/etc/mysql/mysql.conf.d)

启动vim编辑conf.d文件,在如图的1号箭头,2号箭头,3号箭头所指代码

配置代码为:

bash 复制代码
character-set-server=utf8

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

步骤4

首先找到mysql.cnf文件(路径为/etc/mysql/conf.d/mysql.cnf)

然后启动vim编辑mysql.cnf文件即可,加入配置信息

配置信息

bash 复制代码
default-character-set=utf8

步骤5

重启mysql即可

bash 复制代码
service mysql restart
或者
service mysqld restart

二、结果

最后可以发现数据库的编码方式已该成utf8,可以成功储存中文字段

相关推荐
Nturmoils18 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
Sokach10151 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
渣波1 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
AlfredZhao2 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
Jim6002 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL2 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏