MySQL 5.7中文乱码与远程链接问题

news2024/10/5 22:24:54

MySQL 5.7中文乱码与远程链接问题

  • 1. MySQL 5.7中文乱码
  • 2. 远程链接问题
  • 3. 不区分表大小写
  • 4. 超过最大连接数
  • 5. 时区问题
  • 5. GROUP BY 问题
  • 配置集合
  • 重启MySQL

1. MySQL 5.7中文乱码

当我们直接在数据库里面输入中文时,保存后出现:
Incorrect string value:‘\xE9.....’ for column '' at row 1

在这里插入图片描述
出现上面的原因是因为字符编码设置有问题:
我们右击表设计,查看一下对应的字段:
可以看到字符集是latin1,我们可知MySQL5.7版本默认字符编码是latin1
这个字符集是不支持中文的,那我们怎么支持中文呢?
在这里插入图片描述
支持中文的有:GBK、UTF8、UTF8mb4等
目前比较常用的是UTF8了,如果是有表情特殊字符需要用到UTF8mb4。
因为他们底层使用的存储大小不同:

字符编码所占大小(字节)
latin11
gb23122
gbk2
utf83
utf8mb44

PS:MySQL8.0之后默认就是utf8mb4 字符集了。

也可以使用语句查询:

SHOW CHARACTER SET;

在这里插入图片描述
所有我要修改一下默认字符集,
需要到C:\ProgramData\MySQL\MySQL Server 5.7下面修改my.ini文件。
默认情况下可以从上面查找。
如果不知道可以运行如下命令查看:

# 查看运行程序目录
select @@basedir;

# 查看数据库存储(配置文件在此上一层)
select @@datadir;

在这里插入图片描述

然后添加如下内容:
注意中括号里面的是配置其下面,不要复制过去。

[client]
default-character-set=utf8

[mysql]
# 配置默认字符集
default-character-set=utf8
 
[mysqld]
# 配置字符集和排序 
character-set-server=utf8
collation-server=utf8_general_ci

查看是否设置成功,
这个时候一定要注意,之前新建的数据库还是原来的字符集
需要新建数据库才能更改成默认的,如果不想新建需要一个一个修改指定的字段即可。

show VARIABLES like '%character%'

在这里插入图片描述

2. 远程链接问题

当我们本地电脑连接本地的数据库时是没有问题的,
如果是在一个局域网内,其他电脑访问就有问题了,
说明没有开启远程链接权限。
在这里插入图片描述
参考文档:MySQL远程登录授权

# 允许root远程链接,并通过指定密码验证
grant all privileges on *.* to root@'%' identified by '123456';

执行完一下语句,其他电脑即可远程链接了。
在这里插入图片描述

在这里插入图片描述

3. 不区分表大小写

Windows默认是区分大小写的,
这时候需要修改MySQL的配置my.ini文件 ,
需要在mysqld节下加入:

[mysqld]
# 配置表名不区分大小写
lower_case_table_names=1

4. 超过最大连接数

如果你的MySQL服务器作为其他电脑的连接服务器,
有可能会出现连接超过最大连接数

show global variables like 'max_connect%';

执行上面的语句,我们可以看到到达100就会报错了。
所以我们要修改一下最大连接数。
在这里插入图片描述
解决方案:在mysqld下面添加如下设置

[mysqld]

max_connections = 2000

5. 时区问题

参考文档:MySQL如何修改时区
可以看到默认采用系统的时区,但是有可能系统时区有问题。
在这里插入图片描述

[mysqld]

default-time_zone = '+8:00'

5. GROUP BY 问题

参考文档:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column xxxxx

[mysql]
# Group by会用到
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

[mysqld]
# Group by会用到
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

配置集合

[client]
default-character-set=utf8
[mysql]
# 配置默认字符集
default-character-set=utf8

# Group by会用到
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

[mysqld]
# 默认时区
default-time_zone = '+8:00'

# 配置字符集和排序 
character-set-server=utf8
collation-server=utf8_general_ci

# 服务端口
port=3306

# 主从id
server-id=1

# 配置表名不区分大小写
lower_case_table_names=1

# 最大连接数
max_connections=2000

# 数据库存储地址
datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data

# 存储引擎
default-storage-engine=INNODB

# Group by会用到
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

重启MySQL

经过上面的配置之后,需要重启MySQL:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/78290.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode 第 244 场周赛题解

前言 这是 2021-06-06 的一场 LeetCode 周赛,本场周赛的题目相较而以往而言比较简单,基本上想到点上就可以做出来,主要涉及到矩阵的旋转、贪心、滑动窗口、前缀和、二分查找等知识点。 第 244 场周赛链接:https://leetcode-cn.c…

SpringBoot+Vue实现前后端分离的学校快递站点管理系统

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue.js 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JD…

机器人开发--雷达lidar

机器人开发--雷达lidar1 介绍2 分类2.1 整体分类2.2 机械式(三角&ToF)三角测距激光雷达ToF测距激光雷达3 机械式单线ToF激光雷达3.1 扫描原理3.2 不同材料反射率3.3 核心参数参考1 介绍 激光雷达(英文:Laser Radar &#xff…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java制造类企业erp23725

面对老师五花八门的设计要求,首先自己要明确好自己的题目方向,并且与老师多多沟通,用什么编程语言,使用到什么数据库,确定好了,在开始着手毕业设计。 1:选择课题的第一选择就是尽量选择指导老师…

第十四周周报

学习目标: 一、论文“Vector Quantized Diffusion Model for Text-to-Image Synthesis”的Code 二、猫狗识别、人脸识别模型 学习内容: Code 学习时间: 12.4-12.9 学习产出: 一、论文Code 正向过程: 先通过Tam…

Python——学生管理系统

实现学生系统的增,删,查,打印所有学生功能,分别介绍使用列表存储和使用文件存储的代码 使用列表存储 import sys students []def menu():print("1. 新增学生")print("2. 显示学生")print("3. 查找学生…

【OpenCV学习】第10课:形态学操作的应用-图像去掉干扰线丶干扰点

仅自学做笔记用,后续有错误会更改 理论 去干扰线干扰点的操作方法, 大体上与第9课所说的提取水平/垂直线一致, 只是把核改为矩形, 不要线型就行,反正都是通过开操作来实行的。 操作流程: 输入图像(一般是…

python数据分析:湖南省第七次人口普查可视化

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~ 今天案例难度指数: ☆☆☆ 准备 环境使用: Anaconda (python3.9) –> 识别我们写的代码 开发工具: jupyter notebook –> 代码编辑功能敲代码的工具 相关模块: pandas pyechart…

[附源码]计算机毕业设计基于Web的绿色环保网站Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

c# .net iot树莓派/香橙派用到物联网包Iot.Device.bindings 支持设备说明文档

c# .net iot树莓派(进口,贵)/香橙派(国产,功能相同,性价比高)用到物联网包Iot.Device.bindings 支持设备说明文档 我们c# .net iot开发树莓派/香橙派都需要用到Iot.Device.bindings、System.De…

RNA-seq 详细教程:假设检验和多重检验(8)

学习目标 了解模型拟合的过程比较两种假设检验方法(Wald test vs. LRT)了解多重测试校正的重要性了解用于多重测试校正的不同方法1. 模型拟合和假设检验 DESeq2 工作流程的最后一步是对每个基因进行计数并将其拟合到模型中并测试差异表达。 Hypothesis t…

osgEarth各个示例分析目录

概述 由于数字地球项目需要osgEarth的代码知识,故决定学习osgEarth的示例,示例中有很多可以借鉴的内容。以下是分析目录,完全是随机进行的,并没有什么上下文逻辑。 每一篇代码边学习边分析,如果有错误,请…

【Java面试】说说JVM的内存结构以及他们那些会产生内存溢出?

文章目录内存结构内存溢出的产生内存结构 对于JVM的内存结构,我将按照上面两张图配合来讲。 Java Source就是我们的Java源代码,经过JVM编译器编译之后变为Java Class也称Java字节码文件。当我们运行java命令对字节码文件进行运行的时候,将会…

深度学习-三维卷积神经网络(3DCNN)

1. 3DCNN理解 2D卷积仅仅考虑2D图片的空间信息,所以只适用于单张2D图片的视觉理解任务。在处理3D图像或视频时,网络的输入多了一个维度,输入由(c,height,width)(c,height,width)(c,height,width)变为了(c,depth,height,width)(c,depth,height…

计算机毕业设计django基于python学生考试成绩数据分析与可视化系统

项目介绍 随着社会的逐步发展,计算机网络技术对人们工作、生活影响是全面且深入的。基于计算机网络的管理系统越来越受到人们的欢迎,人们可以通过基于网络的管理系统进行实时数据信息查询、管理数据信息等,给人们的生活、工作带来便利。 在学校的日常管理工作中,学生成绩的统计…

【Python计算机视觉】项目实战之图像增强imguag对关键点变换、标注框变化(附源码 超详细必看)

需要源码或运行有问题请点赞关注收藏后评论区留言私信~~~ 一、imgaug简介 imguag使一个用于机器学习实验中图像增强的Python依赖库,支持Python2.7和Python3.4以上的版本,它支持多种图像增强技术,并允许轻松地组合这些技术,具有简…

uniapp中如何使用vuex进行状态管理(登录小案例讲解)

前言 本篇文章来讲解uniapp中如何使用vuex来实现状态管理,后面会讲实现登录状态管理的案例。如果之前学过vuex全家桶的同学那应该没啥问题,在uniapp中使用vuex和vue中基本是一样的。 什么是vuex 简单来说就是vue中的状态管理仓库,对于vuex…

从文件包含到RCE方法

前言 大家在参加众测的行动时,若是发现了以下基础危害不大的漏洞,不建议直接提交的,而是应该想办法看,能不能对该漏洞进行升级,扩大其危害,多拿点奖励。当然,文件包含不算常见,经常…

车床零件加工调度问题

目录 题目 思路 代码 运行结果 题目 某车间需要用一台车床和一台加工A,B,C,D4个零件。每个零件都需要先用车床加工,再用加工。车床和加工每个零件所需的工时(包括加工前的准备时间以及加工后的处理时间)如下表所示。…

移动端APP测试常见面试题精析

现在面试测试职位,要求非常全面,那么APP测试一般需要哪些技术呢?下面总结了APP测试常见面试题: 1.Android四大组件? Activity:描述UI,并且处理用户与机器屏幕的交互。应用程序中,一个Activity就相当于手…