Windows下的mysql字符集格式修改

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

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;
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
268 26
|
4月前
|
存储 人工智能 搜索推荐
详解MySQL字符集和Collation
MySQL支持了很多Charset与Collation,并且允许用户在连接、Server、库、表、列、字面量多个层次上进行精细化配置,这有时会让用户眼花缭乱。本文对相关概念、语法、系统变量、影响范围都进行了详细介绍,并且列举了有可能让字符串发生字符集转换的情况,以及来自不同字符集的字符串进行比较等操作时遵循的规则。对于最常用的基于Unicode的字符集,本文介绍了Unicode标准与MySQL中各个字符集的关系,尤其详细介绍了当前版本(8.0.34)默认字符集utf8mb4。
1431 82
|
2月前
|
SQL 关系型数据库 MySQL
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
本文探讨了在使用YMP 23.2.1.3迁移MySQL Server字符集为latin1的中文数据至YashanDB时出现乱码的问题。问题根源在于MySQL latin1字符集存放的是实际utf8编码的数据,而YMP尚未支持此类场景。文章提供了两种解决方法:一是通过DBeaver直接迁移表数据;二是将MySQL表数据转换为Insert语句后手动插入YashanDB。同时指出,这两种方法适合单张表迁移,多表迁移可能存在兼容性问题,建议对问题表单独处理。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
|
5月前
|
关系型数据库 MySQL 数据库
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
1127 1
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
|
5月前
|
安全 关系型数据库 MySQL
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
597 9
|
5月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
7月前
|
安全 Windows
windows系统中,通过LOAD到入csv格式的文件到neo4j中,如何写文件路径
windows系统中,通过LOAD到入csv格式的文件到neo4j中,如何写文件路径
92 0
|
7月前
|
关系型数据库 MySQL Linux
Navicat 连接 Windows、Linux系统下的MySQL 各种错误,修改密码。
使用Navicat连接Windows和Linux系统下的MySQL时可能遇到的四种错误及其解决方法,包括错误代码2003、1045和2013,以及如何修改MySQL密码。
797 0
|
13天前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
2月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库