独立开发者系列(17)——MYSQL的常见异常整理

虽然安装MYSQL到本地很简单,但是数据库报错还是经常出现,这个时候,需要我们进行逐步检查与修复。作为我们最常用的开发软件,无论切换php/go/python/node/java,数据库的身影都少不了,对于我们储存数据而言,超越了语言的存在,所以常见错误码还是挺头疼的。

错误1: 1045

ERROR 1045: Access denied for user 'root'@'localhost' (using password: YES),可能产生原因:

MySQL的服务器停止了。(也就是服务器根本没打开,需要检查进程mysql服务是否在进行) win下面 netstat -ano | findstr "3306" 检查对应端口情况

用户的端口号或者IP导致拒绝访问。(打开服务器的对外开放端口号,检查防火墙的入栈规则,具体设置过程 :

打开 Windows 10 的"控制面板",选择"系统和安全"->"Windows Defender 防火墙"。

点击"高级设置",在左侧面板中选择"入站规则"。

在右侧面板中,点击"新建规则"。

选择"端口"作为规则类型,点击"下一步"。

选择"TCP"作为端口协议,指定端口为 3306,点击"下一步"。

选择"允许连接"作为操作,点击"下一步"。

选择"仅在以下网络类型中启用此规则"并选中"专用",点击"下一步"。

为规则命名并添加描述(可选),点击"完成"保存规则。)

MySQL的配置文件错误(通常是my.cnf或my.ini 这种情况出现极少,一般找个替换的即可)。

root用户的密码错误。(密码错误,这个直接修改root密码即可,可采用无密码登录后再把密码修改掉)

权限问题:用户可能没有足够的权限登录。(没有设置登录权限,修改登录的权限表)

错误2:1055

基本上5.7版本才会出现的问题:

在MySQL5.7之后sql_mode中默认存在ONLY_FULL_GROUP_BY,SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错。

ONLY_FULL_GROUP_BY:要求select语句中所查询出的列必须是在group by中进行声明,否则就会报错。简单的说来,在此模式下,select target list中的值要么是来自于聚合函数(sum、avg、max等)的结果,要么是来自于group by list中的表达式的值。

修改my.ini文件:

设置sql_mode,关闭ONLY_FULL_GROUP_BY,避免使用group by函数导致1055错误

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

错误3: 1251

Client does not support authentication protocol requested by server;consider upgrading MysQL client

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 导致使用之前的客户端登录服务器,会显示请求认证协议失效,一般我们现在使用navicate的解决居多。

解决问题方法有两种:

方法1.使用navicate16+的版本客户端(其他客户端会失效);

方法2.把mysql用户登录密码加密规则还原成mysql_native_password.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;

相关推荐
liliangcsdn17 分钟前
如何使用python创建和维护sqlite3数据库
数据库·sqlite
TDengine (老段)7 小时前
TDengine 数学函数 DEGRESS 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
TDengine (老段)7 小时前
TDengine 数学函数 GREATEST 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
安当加密7 小时前
云原生时代的数据库字段加密:在微服务与 Kubernetes 中实现合规与敏捷的统一
数据库·微服务·云原生
爱喝白开水a7 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
想ai抽7 小时前
深入starrocks-多列联合统计一致性探查与策略(YY一下)
java·数据库·数据仓库
武子康7 小时前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
longgyy8 小时前
5 分钟用火山引擎 DeepSeek 调用大模型生成小红书文案
java·数据库·火山引擎
ytttr8738 小时前
C# 仿QQ聊天功能实现 (SQL Server数据库)
数据库·oracle·c#
盒马coding9 小时前
第18节-索引-Partial-Indexes
数据库·postgresql