CentOS7下的MySQL5.7.28怎么更改字符集为UTF-8

最近写好的web项目打算打包在Linux环境下运行,在虚拟机装JDK、Tomcat
MySQL后,数据库连接也成功了,但是运行项目的时候,连接windows环境下
的MySQL数据库项目运行正常,连接Linux环境下的MySQL数据库运行项目时中文会出现乱码,查了一下说的是数据库字符集的问题。

windows下:
图片说明

linux下:图片说明

查了下网上的解决方案:
1.修改配置文件/etc/my.cnf
2.将my-medium.cnf 移动到etc 并且改名为my.cnf

但问题是。。。。我没有找到这两个文件阿,那怎么更改字符集呢?

首先,修改MySQL字符集确实可以解决中文乱码的问题。

对于 CentOS7 下的 MySQL5.7.28,可以通过以下步骤更改字符集为 UTF-8:

  1. 打开 MySQL 配置文件 my.cnf:
sudo vim /etc/my.cnf

如果该文件不存在,可以使用以下命令创建:

sudo cp /usr/share/mysql/my-default.cnf /etc/my.cnf
  1. 在 [mysqld] 段下添加以下内容:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init_connect='SET NAMES utf8'
  1. 重启 MySQL 服务:
sudo systemctl restart mysqld

请注意:如果在修改前已经创建了数据库和表,更改字符集后需要手动修改数据库和表的字符集。可以使用以下命令进行修改:

ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

这样,数据库和表的字符集就会被修改为 UTF-8。希望这个解答能够解决你的问题。