Windows下的mysql字符集格式修改

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 在Windows上的MySQL 5.7.17,若安装时未设置字符集,可能导致乱码问题。本文提供了解决方案:首先,通过`mysql -uroot -p`登录并使用`show variables like '%char%';`查看当前字符集。然后,有两种修改方法:一是使用Shell命令临时修改9个相关属性为utf8;二是永久修改,在my.ini配置文件中将[mysqld]、[client]、[mysql]下的字符集改为utf8。记得重启MySQL服务以应用更改。此外,还提供了修改数据库和表字符集的SQL命令。

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

Windows下的mysql字符集格式修改

笔者关于数据库的字符集踩了不少坑,由于安装时没有事先设置字符集,导致后面使用数据库时乱码,好烦。这个修改过程是笔者亲自配置成功的步骤,现在分享给大家,希望可以解决你的问题。

使用管理员运行cmd 或者 PowerShell,笔者这里使用的是Windows PowerShell。数据库版本是5.7.17.

1. 首先查看自己数据库的字符集

1.1 登录mysql

mysql -uroot -p密码

image.png

1.2 查看 MySQL 数据库服务器和数据库字符集

show variables like '%char%';

image.png

这里显示的是各个属性的字符集格式,如gbk,latin1等。

2.修改数据库的字符集(两种方式,推荐使用第二种!)

2.1 【方式一】使用shell命令修改(不会永久生效)

#修改这9种属性即可
 set character_set_client=utf8;
 set character_set_connection=utf8;
 set character_set_database=utf8;
 set character_set_results=utf8;
 set character_set_server=utf8;
 set character_set_system=utf8;
 set collation_connection=utf8;
 set collation_database=utf8;
 set collation_server=utf8;
#客户端、服务器、数据库字符集的命令

image.png

再次查看数据库字符集

show variables like '%char%';

我们可以看到已经修改为 utf8 格式。
image.png

到此已经修改成功。

#退出mysql
exit

image.png

2.2 【方式二】使用配置 my.ini 方式(或者my-default.ini)

2.2.1 首先停止数据库服务

image.png

my.ini在数据库的安装目录中
我的是在 D:\Program Files\mysql-5.7.17-winx64 目录下

最好采用管理员权限打开文件,因为有可能无法保存。

2.2.2 开始配置my.ini (注意如果文件名是my-default.ini,请改为my.ini 切记!!!!!)

配置如下:
分别在文件中找到[mysqld], [mysql] ,[client].把下面的字符集格式改为 utf8

***注意不是utf-8,utf-8不生效!!!***
如果没有[mysql] ,[client]的话自己写上例如[mysql]。
看清楚,不要重复哦。

[mysqld]

字符集

character_set_server=utf8
image.png

[client]

字符集

default-character-set=utf8

image.png
[mysql]

字符集

default-character-set=utf8
image.png

保存!

net start mysql

image.png

需要重新登录mysql

mysql -uroot -p密码
show variables like '%char%';

现在我们可以看到字符集都已经成功永久改成utf8
image.png

按照以上步骤修改,是完全可以成功的永久修改字符集为utf8。

以下是几个常用修改字符集命令:

#修改单个数据库的字符集
 alter database 数据库名 default character set = utf8; 
#创建数据库时设置字符集
create database 数据库名 character set utf8;
#修改单张数据表字符集
alter table 表名 default character set = utf8; 
alter table 表名 convert to character set utf8;
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
关系型数据库 MySQL 数据库
Windows版MySql8.0安装(亲测成功!)
Windows版MySql8.0安装(亲测成功!)
61 1
|
2月前
|
Ubuntu 关系型数据库 MySQL
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
36 2
|
4月前
|
关系型数据库 MySQL 数据库
Windows安装MySQL数据库
本文介绍如何在Windows安装MySQL数据库。
70 0
|
1天前
|
编解码 安全 关系型数据库
祝福CSDN的小伙伴2024年快乐!Windows7安装MySQL
祝福CSDN的小伙伴2024年快乐!Windows7安装MySQL
|
3天前
|
安全 关系型数据库 虚拟化
WIndows Server 远程桌面服务—RDS
WIndows Server 远程桌面服务—RDS
|
16天前
|
关系型数据库 MySQL Windows
windows安装MySQL5.7教程
windows安装MySQL5.7教程
27 0
|
1月前
|
关系型数据库 MySQL C++
Windows Server 2012R2 安装mysql 丢失VCRUNTIME140_1.dll------亲测
Windows Server 2012R2 安装mysql 丢失VCRUNTIME140_1.dll------亲测
13 0
|
2月前
|
NoSQL Java 应用服务中间件
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
|
3月前
|
关系型数据库 MySQL Linux
MySQL 数据库安装详解(linux系统和windows系统)
MySQL 数据库是一种广泛使用的开源关系数据库管理系统。在 Linux 和 Windows 系统上安装 MySQL 数据库的步骤略有不同。
101 0
|
3月前
|
关系型数据库 MySQL 数据安全/隐私保护
【极光系列】Windows安装Mysql8.0版本
【极光系列】Windows安装Mysql8.0版本
http://www.vxiaotou.com