【MySQL】数据库常见错误及解决

目录

  • 2003错误:连接错误
    • 1251错误:身份验证错误
    • 1045错误:拒绝访问错误
    • 服务没有报告任何错误
    • net start mysql 发生系统错误 5。
  • 1064错误:语法错误
  • 1054错误:列名不存在
  • 1442错误:触发器中不能对本表增删改
  • 1303错误:使用工具创建存储过程/触发器时无需写创建这一行
  • 1292错误:类型错误
  • 1415错误:触发器不能出现 SELECT * FROM
  • 1130错误

2003错误:连接错误

错误:2003 -Can’t connect to MySQL server on ‘localhost’(10038)
解决:Navicat远程连接MySQL时,提示2003错误,可能的原因有①MySQL服务没有启动;②用户没有权限使用远程连接。③防火墙中没有配置MySQL端口(3306)。
对于第①种情况,Win+R,输入services.msc命令,打开服务,找到MySQL81(其中数字表示MySQL版本),右键启动即可。
对于第②种情况,在命令行中输入mysql -u root -p登录数据库,按照以下命令修改:

show databases; use mysql;select user,host,password from user;update user set host = '%' where user = 'root' and host = 'localhost';FLUSH PRIVILEGES;

接着退出MySQL,在命令行中输入net start mysql81(81为8.1版本)。
对于第③种情况,需要进入控制面板,找到Windows Defender防火墙,点击高级设置,点击入站规则,点击右边的新建规则,点击端口,点击下一步,选择协议类型和端口号(3306)点击下一步即可。

1251错误:身份验证错误

错误:1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
解决:①升级navicat驱动;②把mysql用户登录密码加密规则还原成mysql_native_password。
方式②需要Win+R,输入cmd打开命令行,进入MySQL的bin目录,然后输入mysql -u root -p,输入密码登录。按照以下命令修改即可。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 FLUSH PRIVILEGES; #刷新权限

1045错误:拒绝访问错误

错误:在上述进入命令行后输入mysql -u root -p后,出现ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)报错。
原因:①MySQL的服务器停止:若MySQL服务没有启动,Win+R输入services.msc打开服务后,重启MySQL服务器。
②用户的端口号或者IP导致:若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部编辑替换为: port=X。
③MySQL的配置文件错误----my.ini等文件:my.ini文件误输入无效内容。
④root用户的密码错误。

服务没有报告任何错误

错误:MySQL81 服务正在启动 …
MySQL81 服务无法启动。
服务没有报告任何错误。

解决:由于之前按照其他教程在本地安装了MySQL服务,导致本机上有两个MySQL服务的冲突:
在这里插入图片描述
这种情况下,使用管理员权限运行cmd,输入mysqld --initialize,等待该指令执行完成后,重新使用管理员权限开启一个cmd,输入net stop mysql关闭mysql服务,再输入net start mysql81启动mysql81版本的服务,问题得到解决。
关闭mysql后,可打开服务管理器,将Mysql的启动类型改为禁用。

net start mysql 发生系统错误 5。

默认情况下cmd是以用户身份运行的,出现此类问题是由于没有权限。运行cmd时需要以管理员身份运行。

以管理员身份运行后再输入命令net start mysql即可。

1064错误:语法错误

错误:1064-You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
解决:SQL语句语法错误,常见的是表名或字段名添加了双引号或单引号,在MySQL中需要添加反引号,这是为了区分MySQL的保留字与普通字符而引入的符号。在Navicat中添加触发器的代码,需要为字段名和表名添加反引号``(在键盘上的左上角数字1旁边)。

1054错误:列名不存在

错误:1054-Unknown column ‘XXX’ in ‘field list’
解决:该列名在数据表中不存在,可能的原因有①SQL语句中的列名写错了,②表名在数据库中不存在,③该列属于后面加上去的,选择全部列可以,单独获取报错,解决办法就是将数据表中的该列重新命名,然后保存,④数据表中的列名多了一个空格,删掉即可。

1442错误:触发器中不能对本表增删改

错误:1442-Can’t update table ‘XXX’ in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
解决:MySQL中触发器中不能对本表进行 insert ,update ,delete操作,以免递归循环触发。 对于update 只能用set进行操作,insert与delete只能借助第二张表才能实现需求。

1303错误:使用工具创建存储过程/触发器时无需写创建这一行

错误:1303-Can’t create a TRIGGER from within another stored routine.
解决:通过Navicat创建存储过程(或触发器)的时候,不需要写创建的这一行:CREATE PROCEDURE(或TRIGGER) XXX() ,直接在Navicat中选择即可。
在这里插入图片描述

1292错误:类型错误

错误:1292-Truncated incorrect DOUBLE value: ‘_’
解决:使用CONCAT()函数连接字段时,将’_‘这个字符串用+号与数值进行了连接,解决方案是使用CONCAT_WS()函数,其中第一个参数为’_‘,这表示将其后的字段使用’_'这个字符串隔开。

1415错误:触发器不能出现 SELECT * FROM

错误:1415 - Not allowed to return a result set from a trigger
解决:触发器不能出现 SELECT * FROM TABLE 形式的查询 ,因为其会返回一个结果集 ,但可以用SELECT INTO 来设置变量(虽然MySQL不太支持SELECT INTO语法,但是仅仅只是赋个值还是可以的)。

1130错误

错误:1130 - Host ‘XXXX’ is not allowed to connect to this MySQL server.

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何正确地使用ChatGPT(角色扮演+提示工程)

如何正确地使用ChatGPT(角色扮演提示工程) 一、ChatGPT介绍二、准备工作2.1 获取ChatGPT环境2.2 确定使用ChatGPT的目标和需求 三、重要因素3.1 角色赋予3.2 提示工程 四、正确案例4.1 工作日报4.2 工作总结 一、ChatGPT介绍 可以查阅ChatGPT快速入门 …

docker版本的Jenkins安装与更新技巧

因为jenkins/jenkins镜像默认带的jenkins版本比较低,导致安装完以后,很多插件因为版本问题无法安装。以下是最权威,最方便的安装教程。 1. 创建本地挂载目录 mkdir -p /mnt/dockerdata/jenkins/home/2. 修改挂载目录权限 chown -R 1000:10…

Pyside6 QFileDialog

Pyside6 QFileDialog Pyside6 QFileDialog常用函数getOpenFileNamegetOpenFileNamesgetExistingDirectorygetSaveFileName 程序界面程序主程序 Pyside6 QFileDialog提供了一个允许用户选择文件或目录的对话框。关于QFileDialog的使用可以参考下面的文档 https://doc.qt.io/qtfo…

RustDay06------Exercise[91-100]

91.将指针还原成指定类型 因为指针不知道里面具体有什么,所以一般约定打上unsafe 申明开发者自己对该部分可用性负责,且在调试的时候也能起强调作用 // tests6.rs // // In this example we take a shallow dive into the Rust standard librarys // unsafe functions. Fix …

[yolo系列:YOLOV7改进-添加CoordConv,SAConv.]

文章目录 概要CoordConvSAConv 概要 CoordConv(Coordinate Convolution)和SAConv(Spatial Attention Convolution)是两种用于神经网络中的特殊卷积操作,用于处理图像数据或其他多维数据。以下是它们的简要介绍&#x…

【RNA structures】RNA-seq 分析: RNA转录的重构和前沿测序技术

文章目录 RNA转录重建1 先简单介绍一下测序相关技术2 Map to Genome Methods2.1 Step1 Mapping reads to the genome2.2 Step2 Deal with spliced reads2.3 Step 3 Resolve individual transcripts and their expression levels 3 Align-de-novo approaches3.1 Step 1: Generat…

2023年中国调速器产量、销量及市场规模分析[图]

调速器行业是指生产、销售和维修各种调速器设备的行业。调速器是一种能够改变机械传动系统输出转速的装置,通过调整输入和输出的转速比来实现转速调节的功能。 调速器行业分类 资料来源:共研产业咨询(共研网) 随着工业自动化程度…

C语言代码把时间戳字符串转换成日期时间格式以及修正bug的测试方法

时间戳是一种用来表示日期和时间的数字格式,在不同的编程语言里时间戳的长度和单位都不一样: C:以秒为单位,目前的时间戳是10位数。 Python:以秒为单位并且有精确到7位小数的毫秒,目前的时间戳整数部分是…

基于springboot小区团购管理系统

基于springboot小区团购管理系统的设计与实现 摘要 小区团购管理系统是一款基于Spring Boot框架的Web应用,为小区居民提供了一个方便的平台,以协调和管理各种团购活动。该系统的主要目标是促进小区居民之间的互助合作,通过集中采购来降低商品…

Ubuntu 22.04 中安装 fcitx5

Ubuntu 22.04 中安装 fcitx5 可以按照以下步骤进行: 添加 fcitx5 的 PPA 首先,添加 fcitx5 的官方 PPA: sudo add-apt-repository ppa:fcitx-team/fcitx5更新软件包列表 sudo apt update安装 fcitx5 sudo apt install fcitx5 fcitx5-conf…

【JavaEE初阶】 CAS详解

文章目录 🌲什么是 CAS🚩CAS伪代码 🎋CAS 是怎么实现的🌳CAS的应用🚩实现原子类🚩实现自旋锁 🎄CAS 的 ABA 问题🚩什么是 ABA 问题🚩ABA 问题引来的 BUG🚩解决…

Mac安装nginx(Homebrew)

文章目录 nginx 安装nginx 反向代理nginx 反向代理配置nginx 负载均衡配置 nginx 安装 查看需要安装 nginx 的信息 brew info nginxDocroot 默认为 /usr/local/var/www 在 /opt/homebrew/etc/nginx/nginx.conf 配置文件中默认端口被配置为8080,从而使 nginx 运行…

常用Win32 API的简单介绍

目录 前言: 控制控制台程序窗口的指令: system函数: COORD函数: GetStdHandle函数: GetConsoleCursorInfo函数: CONSOLE_CURSOR_INFO函数: SetConsoleCursorInfo函数: SetC…

Vue 实战项目(智慧商城项目): 完整的订单购物管理功能 内涵资源代码 基于Vant组件库 Vuex态管理 基于企业级项目开发规范

鹏鹏老师的实战开发项目 智慧商城项目 接口文档:安全问题(需要私信即可) 演示地址:跳转项目地址 01. 项目功能演示 1.明确功能模块 启动准备好的代码,演示移动端面经内容,明确功能模块 在这里插入图…

DevExpress WinForms甘特图组件 - 轻松集成项目管理功能到应用

DevExpress WinForms Gantt(甘特图)控件允许您在下一个WinForms桌面应用程序中快速合并项目规划和任务调度功能。 DevExpress WinForms有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。同时能完美构建流畅、美观且易于…

【超参数研究02】使用随机搜索优化超参数

一、说明 在神经网络训练中,超参数也是需要优化的,然而在超参数较多(大于3个)后,如果用穷举的,或是通过经验约摸实现就显得费时费力,无论如何,这是需要研究、规范、整合的要点&#…

Banana Pi BPI-M4 Berry 采用全志H618芯片,板载2G RAM和8G eMMC

BPI-M4 Berry 开发板作为一款强大的单板计算机(SBC),充分挖掘了全志 H618 系统级芯片(SoC)的功能,为开发人员提供了令人印象深刻的性能和丰富的特性。与树莓派 4b 类似,BPI-M4 Berry 能够展现与…

网站页脚展示备案号并在新标签页中打开超链接

备案时,我们就注意到,备案成功后需要在网站首页底部展示“备案号”,并将备案号链接至https://beian.miit.gov.cn。 这里我使用了WrodPress中的主题,主题自定义中有提供对页脚文本的编辑,支持用css标签定义样式。若是自…

MySQL MVCC机制探秘:数据一致性与并发处理的完美结合,助你成为数据库高手

一、前言 在分析 MVCC 的原理之前,我们先回顾一下 MySQL 的一些内容以及关于 MVCC 的一些简单介绍。(注:下面没有特别说明默认 MySQL 的引擎为 InnoDB ) 1.1 数据库的并发场景 数据库并发场景有三种,分别是: 读-读…

基于springboot实现广场舞团平台系统项目【项目源码+论文说明】计算机毕业设计

基于SPRINGBOOT实现广场舞团平台系统演示 摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生&am…