如何将Linux(服务器)上部署的5.7MySql数据库编码修改utf8(最新版)
- 一、解决办法
- 步骤1
- 步骤2(此处为问题描述吐槽,可以直接跳过该步骤到步骤三)
- 步骤3
- 步骤4
- 步骤5
- 二、结果
# 前言 `提示:这里可以添加本文要记录的大概内容:`
今天笔者在将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号箭头所指代码
配置代码为:
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文件即可,加入配置信息
配置信息
default-character-set=utf8
步骤5
重启mysql即可
service mysql restart
或者
service mysqld restart
二、结果
最后可以发现数据库的编码方式已该成utf8,可以成功储存中文字段