【Mysql】记录MySQL中常见的错误代码及可能原因

希望文章能给到你启发和灵感~
如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~

阅读指南

  • 开篇说明
  • 一、基础环境说明
    • 1.1 硬件环境
    • 1.2 软件环境
  • 二、常见的问题
    • 2.1 连接和认证相关
    • 2.2 权限相关
    • 2.3 表和数据操作相关
    • 2.4 资源限制和配置相关
    • 2.5 其他
  • 三、最后

开篇说明

梳理了一下近期大家在使用mysql中经常遇到的问题提示,有的是在navicat等连接工具上出现,有的是在代码中调用过程中出现的,做了一个常见的错误汇总和原因,作为参考,希望可以帮大家定位问题;

在这里插入图片描述

一、基础环境说明

考虑环境因素,大家适当的对比自己的软硬件环境情况分析~请仔细阅读硬件、软件环境

1.1 硬件环境

MacOS Monterey 版本 12.6.8 Apple M1

1.2 软件环境

数据库版本:mysql 8.0

二、常见的问题

提示:很多问题发生的原因很多,所以注意的是,以下的所有问题出现时,我们首先要确定的就是自己的mysql服务是否正确安装,以及服务是否是启动的状态防火墙已经关闭或者开放了对应端口,然后我们再去排查原因;

2.1 连接和认证相关

  • 1045:访问被拒绝,用户名或密码错误。这通常发生在尝试连接到MySQL服务器时,提供的用户名或密码不正确。

【1】这个的大概率问题就是就是用户名或密码错误,仔细核对自己的账号和密码是否正确;

【2】端口错误的可能性也有,但是一般较少见,除非在安装的时候,大家修改过默认的端口号;或者你的计算机就有多个版本的mysql,所以端口避免冲突会有不同;

【3】root用户无法进行远程访问,这个通常发生在我们远程连接数据库的时候出现,若是自己本地的连接是不存在这个问题的;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;

FLUSH PRIVILEGES; // 刷新权限

‘%‘代表任何主机。安全的做法,是指定一个具体的IP地址或IP地址范围,而不是使用’%’,这个就根据自己的情况来定了;

然后还需要观察一下自己的配置文件中,是不是bindaddress是否设置了(0.0.0.0)

  • 1042:无效的主机名。在连接MySQL服务器时,指定的主机名无法解析或无法访问。
    【1】首先确认自己的用户名和数据库名有没有写对;
    【2】其次大概率就是权限的问题,通常开发中我们使用的账号都是root权限一般较大,所以一般不会存在这个问题,但是如果你有使用其他账号的情况下,需要确认改用户是否权限有赋予足够;

在mysql8中,我们通常这么查询某个数据库这个用户是否有权限;

// 先从这个用户的账号密码登录之后,执行下面的句子
SELECT GRANTEE, PRIVILEGE_TYPE  
FROM information_schema.TABLE_PRIVILEGES  
WHERE TABLE_SCHEMA = 'your_database_name';

如果此时提示没有权限,你就需要这么授权;

GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'your_host' IDENTIFIED BY 'your_password';

FLUSH PRIVILEGES;
  • 1043:无效连接。通常是由于连接请求未能成功建立,可能是由于网络问题或MySQL服务器未运行

【1】mysql服务没启动
【2】网络问题,不通(防火墙,ping能否通)
【3】mysql的服务地址是否正确,例如IP,端口等
【4】检查配置文件如my.cnf等,是否配置了bindaddress为指定的ip或者0.0.0.0匹配所有IP

2.2 权限相关

  • 1044:当前用户没有访问数据库的权限。用户尝试访问的数据库对其不可见或未授权;

这个错误的处理同【1045】一样处理排查即可;

  • 1227:权限不足,您无权进行此操作。尝试执行的操作需要更高的权限,但当前用户不具备这些权限。

【1】你需要拥有SUPER权限;
如果你是一个管理员,并且确信需要给某个用户SUPER权限,你可以使用具有SUPER权限的用户(如root)来授予这个权限。但是,请务必谨慎,因为SUPER权限非常强大,可能会带来安全风险

2.3 表和数据操作相关

  • 1005:创建表失败。通常是由于表名已存在、磁盘空间不足或权限问题等原因。
  • 1050:数据表已存在。尝试创建已存在的表时会发生此错误。
  • 1051:数据表不存在。尝试访问或操作不存在的表时会发生此错误。
  • 1062:字段值重复,入库失败。尝试向具有唯一键约束的列插入重复的值时会发生此错误。
  • 1146:数据表不存在。这也是一个常见的表不存在错误。

2.4 资源限制和配置相关

  • 1021:硬盘剩余空间不足,请加大硬盘可用空间。这通常发生在尝试执行需要更多磁盘空间的操作时。

  • 1037:系统内存不足,请重启数据库或重启服务器。当MySQL服务器内存不足时,可能会出现此错误。

  • 1040:已到达数据库的最大连接数,请加大数据库可用连接数。当达到MySQL服务器允许的最大连接数时,新的连接请求将被拒绝。

2.5 其他

  • 1024:读文件错误。在读取MySQL服务器上的文件时发生错误。

  • 1026:写文件错误。在写入MySQL服务器上的文件时发生错误。

  • 1216:外键约束失败,关联的外键值不存在。尝试插入或更新数据时,外键约束检查失败。

三、最后

问题处理时,需要结合自己的实际场景,并且版本,操作系统,不同的时候可能会有不同的处理方式,本文仅作参考;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我使用HarmonyOs Next开发了b站的首页

1.实现效果展示: 2.图标准备 我使用的是iconfont图标,下面为项目中所使用到的图标 3. 代码 (1)Index.ets: import {InfoTop} from ../component/InfoTop import {InfoCenter} from ../component/InfoCenter import…

文章解读与仿真程序复现思路——太阳能学报EI\CSCD\北大核心《计及电-热-氢负荷与动态重构的主动配电网优化调度》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Linux 搭建 Kafka 环境 - 详细教程

目录 一. Kafka介绍 1. 应用场景 2. 版本对比 二. Kafka安装 1. 前置环境 (1)安装JDK 2. 软件安装 (3)环境变量配置 (3)服务启动 三. Console测试 基础命令 (1)列出Kafk…

PLC电源模块

PM电源模块 为CPU信号模块及 其他的扩展设备、其他用电设备(如传感器)提供工作供电 接线和开关 状态显示 灯的闪烁示意看手册 PS电源模块 为CPU信号模块及其他的扩展设备提供工作供电。PS(System Power Supply) 外形与PM电源模块类似,状…

PLC【搭建服务端】

PLC搭建服务端 文章目录 PLC搭建服务端前言一、搭建PLC服务器二、打开ModSean32获取数据总结 前言 使用博图V16编写PLC搭建服务器,使用 ModSean32 读取其中数据 一、搭建PLC服务器 打开博图V16点击项目进行新建,编辑好项目名称、及项目路径&#xff0c…

Netty 启动源码阅读

文章目录 1. 入门2. Netty 代码实例3. Netty bind3.1 initAndRegister3.1.1 newChannel, 创建 NioServerSocketChannel3.1.2 init(channel); 初始化 NioServerSocketChannel3.1.3 register 注册channel 3.2 doBind0 绑定端口3.3 ServerBootstrapAcceptor 1. 入门 主从Reactor模…

MATLAB制作一个简单的函数绘制APP

制作一个函数绘制APP,输入函数以及左右端点,绘制出函数图像。 编写回调函数: 结果:

HTML 【实用教程】(2024最新版)

核心思想 —— 语义化 【面试题】如何理解 HTML 语义化 ?仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格 增加代码可读性,让人更容易读懂对SEO更加友好,让搜索引擎更容易读懂 html 文件的基本结构 html 文件的文件后缀为 …

移动硬盘“需格式化”预警:专业数据恢复指南

移动硬盘“需格式化”危机:了解背后的真相 在日常的数字生活中,移动硬盘作为我们存储重要数据的“保险箱”,其稳定性与安全性直接关系到我们信息的完整与便捷访问。然而,当您尝试打开移动硬盘时,屏幕上赫然出现的“需…

科技赋能智慧应急:“数字孪生+无人机”在防汛救灾中的应用

近期,全国多地暴雨持续,“麻辣王子工厂停工”“水上派出所成水上的派出所了”等相关词条冲上热搜,让人们看到了全国各地城市内涝、洪涝带来的严重灾情。暴雨带来的影响可见一斑,潜在的洪水、泥石流、山体滑坡等地质灾害更应提高警…

aardio —— 今日减bug

打字就减bug 鼠标双击也减bug 看看有多少bug够你减的 使用方法: 1、将资源附件解压缩,里面的文件夹,放到aardio\plugin\plugins 目录 2、aardio 启动插件 → 插件设置 → 选中“今日减bug” → 保存。 3、重启 aardio,等aa…

BUUCTF[PWN][fastbin attack]

fastbin_attack例题 题目:[BUUCTF在线评测 (buuoj.cn)](https://buuoj.cn/challenges#[ZJCTF 2019]EasyHeap) 整体思路:利用编辑时edit_heap函数的栈溢出漏洞,覆盖heaparray中的栈指针指向free的got表,将其改为system的plt表&…

make工具

1、什么是make? make是个命令,是个可执行程序,是个工具,用来解析Makefile文件的命令,这个命令存放在/usr/bin/目录下 -rwxr-xr-x 1 root root 250K 2月 15 2022 make -rwxr-xr-x 1 root root 4.8K 2月 15 2022 ma…

Linux_实现简易日志系统

目录 1、认识可变参数 2、解析可变参数 3、打印可变参数 3.1 va_list 3.2 va_start 3.3 va_arg 3.4 va_end 3.5 小结 4、实现日志 4.1 日志左半部分 4.2 日志右半部分 4.3 日志的存档归类 结语 前言: 在Linux下实现一个日志系统,该日…

Open3D 删除点云中重叠的点(方法二)

目录 一、概述 1.1原理 1.2应用 二、代码实现 三、实现效果 3.1原始点云 3.2处理后点云 3.3数据对比 一、概述 在点云处理中,重叠点(即重复点)可能会对数据分析和处理的结果产生负面影响。因此,删除重叠点是点云预处理中常…

一招解决找不到d3dcompiler43.dll,无法继续执行代码问题

当您的电脑遇到d3dcompiler43.dll缺失问题时,首先需要了解d3dcompiler43.dll文件及其可能导致问题的原因,之后便可以选择合适的解决方案。在此,我们将会为您提供寻找d3dcompiler43.dll文件的多种处理方法。 一、d3dcompiler43.dll文件分析 d…

【C++第十课 - stack_queue】stack、queue的使用、适配器模型stack、queue和priority_queue的底层实现、deque

目录 一、stack使用1、push2、pop3、empty4、top题目1、最小栈2、栈的压入、弹出序3、逆波兰表达式求值 二、queue的使用priority_queue习题 三、适配器stack的底层实现queue的底层实现priority_queue的底层实现仿函数/函数对象函数指针 四、deque 一、stack使用 stack是个容器…

【74LS163做24进制计数器】2021-11-19

缘由用74LS163做24进制计数器-其他-CSDN问答,仿真multisim两个74LS163芯片如何构成47进制计数器-吐槽问答-CSDN问答 参考74ls163中文资料汇总(74ls163引脚图及功能_内部结构图及应用电路) - 电子发烧友网

1.pwn的汇编基础(提及第一个溢出:整数溢出)

汇编掌握程度 能看懂就行,绝大多数情况不需要真正的编程(shellcode题除外) 其实有时候也不需要读汇编,ida F5 通常都是分析gadget,知道怎么用, 调试程序也不需要分析每一条汇编指令,单步执行然后查看寄存器状态即可 但…

【Python机器学习】模型评估与改进——多分类指标

多分类问题的所有指标基本是上都来自于二分类问题,但是要对所有类别进行平均。多分类的精度被定义为正确分类的样本所占的比例。同样,如果类别是不平衡的,精度并不是很好的评估度量。 想象一个三分类问题,其中85%的数据点属于类别…