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

注意事项:以下需要修改的文件均是只可读文件,若需要修改,则需要修改自己权限(sudo)或者以root身份修改
首先找到my.cnf文件(路径为/etc/mysql/my.cnf)
笔者找遍了其他博客都说是在/etc/mysql/my.cnf匹配文件中新添加字段,但是发现自己的my.cnf文件中却空空如也,没有他们所说的[client],[mysqld]字段。
别人的my.cnf配置文件
自己的my.cnf配置文件
首先找到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
首先找到mysql.cnf文件(路径为/etc/mysql/conf.d/mysql.cnf)
然后启动vim编辑mysql.cnf文件即可,加入配置信息
配置信息
default-character-set=utf8
重启mysql即可
service mysql restart
或者
service mysqld restart
最后可以发现数据库的编码方式已该成utf8,可以成功储存中文字段