首页 > 数据库 >mysql本人常遇到的错误码及解决办法(27种)

mysql本人常遇到的错误码及解决办法(27种)

时间:2023-05-21 19:05:34浏览次数:46  
标签:27 错误 err root 数据库 错误码 mysql 本人


mysql(本人遇到到错误码及解决办法)

1045

ER_ACCESS_DENIED_ERROR

访问被拒绝
数据库服务器/数据库用户名/数据库名/数据库密码错误

2020年03月26日 再次遇到
  1045'failed to create new session' 没有空间啦,清理一下空间
2020年06月24日
  1045 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 
  本地登录密码可能错误,远程登录远程授权没有开 
  本人是远程权限没开给我(此处本人用途数据表生成modle)
2020年12月29日
  本人链接同事数据库,无法用root,后来其创建了新的用户

1048

ER_BAD_NULL_ERROR

pymysql.err.IntegrityError: (1048, 'Unknown error 1048')
某些字段不能为空(这个bug好难解呀,我与数据表一个一个比对的)

1049

ER_BAD_DB_ERROR

pymysql.err.InternalError: (1049, 'Unknown error 1049')
连接数据库错误,检查ip,端口,账号,密码,数据库名是否有误

1050

ER_TABLE_EXISTS_ERROR

背景:1050, "Table 'crm_userprofile' already exists"
)
处理方法:删除相应的表重建了

一只叫做Unix的猫解决方法

1.主从数据结构中,主库新建a表操作,从库已有a表;
2.单表中,建表重复,建议新建表最好使用 create table xx if no exist;
解决办法:
1.从库drop table a;删除原先表;
2.停掉从库的mysql服务器,mysqladmin -S /tmp/mysql3316.sock -u -p shutdown 关闭数据库
3.重启从库,启动slave模式;/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/mysql3317/my3317.cnf & 重启数据库
mysql>slave start;

1054

ER_BAD_FIELD_ERROR

1054, "Unknown column 'password' in 'field list'"
字段与数据库不一样(数据表中有未知的列, 本人实在ORM模型中遇到的,检查改为相同即可)

1060

ER_DUP_FIELDNAME

1060,字段名重复了,(本人当时做ddl,sql导入,进行SQL解析出同样两个索引,故报错

1062

ER_DUP_ENTRY

pymysql.err.IntegrityError: (1062, '')
		unique=True,某字段是唯一存在的,报错就是因为数据库中的该值已经重复存在
		修改方法:1、删除数据库中的重复数据,2、或者允许某字段值重复存在(即修改索引)

1067

ER_INVALID_DEFAULT

无效的默认值

1089

Incorrect prefix key

1089 - Incorrect prefix key; 
the used key part isn't a string, 
the used length is longer than the key part, 
or the storage engine doesn't support unique prefix keys
本人猜测因为建表后修改表的字段属性,导致了冲突
本人复制了属性从新建个空表,或者删除表的数据保存即可。或者修改表中字段

1130

无法远程连接

原因:mysql服务器 root 默认只允许 localhost 也就是 127.0.0.1 连接
 use mysql;
 允许任何IP链接 update user set host = '%' where user ='root';
 刷新权限 flush privileges;

1136

传入参数个数不相同

原因:mysql服务器 root 默认只允许 localhost 也就是 127.0.0.1 连接
pymysql.err.InternalError: (1136, "Column count doesn't match value count at row 1")
INSERT INTO Salary VALUES('000001', 2100.8, 123.09) 有的可能不为空,或者insert语句 % 拼接有误

1142

ER_TABLEACCESS_DENIED_ERROR

pymysql.err.OperationalError: (1142, 'Unknown error 1142')
 权限问题,可能权限不够,联系管理员查看你是否有相应增删改查权限
 本人修改字段是也报了此错误
 执行SHOW  CREATE  TABLE 时返现是视图临时表(待验证)

1146

ER_NO_SUCH_TABLE

Table doesn't exist   表不存在

1213

Deadlock found when trying to get lock; try restarting transaction

出现原因mysql锁了

SELECT * FROM   information_schema.INNODB_LOCK_WAITS; 查看当前等锁的事务
SELECT * FROM	information_schema.INNODB_LOCKS; 查看当前锁定的事务
SELECT * FROM	information_schema.INNODB_TRX;   查看当前的事务!

mysql本人常遇到的错误码及解决办法(27种)_服务器

  1. 治标办法,能迅速解决问题,不治本(遇到时间2021-08-19) RUNNING状态 杀死这个进程,杀不死就重启Mysql服务
    杀死进程id(trx_mysql_thread_id对应的值)kill 进程号

1264

ER_WARN_DATA_OUT_OF_RANGE

pymysql.err.DataError: (1264, '')
重点关注这个表的字段 tinyint 1字节 (-128,127) (0,255) 小整数值
警告数据超出范围(一不小心就超了)

1265

WARN_DATA_TRUNCATED

为行%ld上的列’%s’截短数据
本人错误原因:MySQL字段birthday 应传1995-08-07 ,本人传成了手机号1801918****,所以报了此错误

1292

ER_TRUNCATED_WRONG_VALUE

通常时间格式错误data, timedate

1327

ER_SP_UNDECLARED_VAR

mysql语句 或者 创建 存储过程时报错([存储过程]

解决时间 2020-01-13 17:21:35
select * into newtable from oldtable where 
从一个表中选取数据,然后把数据插入另一个表中, mysql不支持上述语法
应改为:
结构相同:
insert into table_name_new select * from table_name_old
结构不同:
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old

本人实在python中pymysql:
执行select * from pub_user limit 1000;  
		注意1000后无空格且次‘;’中文分号,报1327 错误。
		注意1000后有空格且次‘;’中文分号,报1064 错误。

1364

Field ‘***’ doesn’t have a default value

数据表里非空且无默认值的字段 
说人话是:数据表数据表里某个字段 不能为空且没有默认值 
解决办法是:设置为可空 或者 设置默认值

1366

Incorrect string value

pymysql.err.InternalError: (1366, "Incorrect string value: 
    MySQL中utf8编码只支持到3字节,一些4字节的unicode不能正确处理
    修改MySQL的字段编码为utf8mb4

1405

原因没有找到,尴尬呀

mysql本人常遇到的错误码及解决办法(27种)_字段_02

当时本人的链接是localhost, 127.0.0.1  所以链接不上指定的mysql数据库。
意思就是:可能自己链接其他主机的数据库,而自己链接时使用localhost,回报这种错误

1406

ER_DATA_TOO_LONG

pymysql.err.DataError: (1406, '')  传入的数据不正确(长度,类型有误)
解决办法:1. 检查传入字段类型是否有误   插入字段长度是否过长 2. 找到dba修改数据库数据表中对应字段长度

1553

MySQL Cannot drop index needed in a foreign key constraint

MySQL Cannot drop index needed in a foreign key constraint
删除字段对应的外键(或请检查索引问题)

2003

10060 2003-can t connect to MySQL server on ip(10060)的解决办法

连接mysql数据库时提示,提示此错误
	1. 检查mysql服务器未开启
	2. bind-address对于连接的ip做了一个限定(公司会设置,找运维赋予权限,生成证书,连接)
	3. 数据库用户只能在指定的ip上连接(公司会设置,找运维赋予权限,生成证书,连接)
	4. 检查防火墙是否关闭,网络是否通

2006

MySQL server has gone awayMySQL 服务器不可用

数据量过大,修改my.ini配置文件,可将max_allowed_packet加大到500M

2013

CR.CR_SERVER_LOST

CR.CR_SERVER_LOST, "Lost connection to MySQL server during query")
pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')
	失去MySQL 服务器连接,检查数据库的服务没有起,或者账号密码端口是否被更改

2059

-

mysql本人常遇到的错误码及解决办法(27种)_字段_03

2021-01-08遇到此错误

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
更改加密规则:
use mysql; #选择数据库
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;       #  修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';  #    更新用户密码
FLUSH PRIVILEGES; #刷新权限

2059

Too many connections

2021-12-28遇到此错误,原因是其他客户端正在使用所有可用的连接应用场景 django, peewee。 mysql 默认最大链接数为151修改一下即可

解决思路
1. SET GLOBAL max_connections = 800;  非持久,下次重启没啦
2. 持久化配置
	vi /etc/mysql/my.cnf
	[mysqld]
	max_connections = 500
**查看mysql的最大连接数
	show variables like '%max_connections%';


标签:27,错误,err,root,数据库,错误码,mysql,本人
From: https://blog.51cto.com/u_12498385/6320004

相关文章

  • MySQL学习基础篇Day6
    5.多表查询我们之前在讲解SQL语句的时候,讲解了DQL语句,也就是数据查询语句,但是之前讲解的查询都是单表查询,而本章节我们要学习的则是多表查询操作,主要从以下几个方面进行讲解。5.1多表关系项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表......
  • Dockerfile练习二---------------------------构建自己的mysql镜像
    构建自己的mysql镜像 ##NYSQL的shell安装脚本##[root@dockertomcat]#cd~[root@docker~]#mkdirmysql[root@docker~]#cdmysql/[root@dockermysql]#vimrun.sh#!/bin/bashyum-yinstall\ncurses\ncurses-devel\bison\cmake\make\gcc\gcc-c++cd/optcdmysql-5......
  • Docker 启动 [email protected] 并使用 Navicat 客户端连接
    docker运行mysql镜像dockerrun--namesome-mysql-p3306:3306-eMYSQL_ROOT_PASSWORD=my-secret-pw-dmysql:5.7其中some-mysql是您要分配给容器的名称my-secret-pw是要为MySQLroot用户设置的密码-p将容器的3306端口发布到主机的端口3306-e设置容器的环境......
  • Windows 2012安装mysql 5.7.21
    文档课题:Windows2012安装mysql5.7.21系统:MicrosoftWindowsServer2012Standard64位数据库:mysql5.7.21安装包:mysql-installer-community-5.7.21.0.msi1、下载自MySQL版本升级到5.7后,安装和配置过程发生很大变化,以下介绍5.7版本MySQL的下载、安装及配置过程.针对不同......
  • 彻底掌握 MySQL InnoDB 的锁机制
    本文是对沈剑大佬锁机制十多篇文章的概括总结,文末有全部链接,还参考了10多位其他网友的优秀分享。1、概要MySQL中的锁可以按照粒度分为锁定整个表的表级锁(table-levellocking)和锁定数据行的行级锁(row-levellocking):表级锁具有开销小、加锁快的特性;但是表级锁的锁定粒度较大,发生......
  • 【代码随想录算法训练营第一天】704. 二分查找、27. 移除元素
    Day1-数组Leetcode704二分查找初解已经不记得二分查找了,遍历找O(n)其实也过了,只是借此复习一下二分,确实快很多。二分的前提条件题目里也都明示了:无重复,(从小到大)排序。我没有用到这个条件,自然时间复杂度高于最优解。看完解答我再看了一眼题目的标题,才知道是考BinarySearch嗯......
  • MySQL索引优化
    1.索引是啥?简单来说是可以快速查找数据的数据结构。数据结构就是存储数据的结构,例如数组,链表...在数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用指向表中是数据,这些数据结构就是索引,它让我们可以用算法来查找数据。假设有个user表,通过name字段找李白,没有......
  • mysql基础_视图
    介绍MySQL视图(View)是一种虚拟存在的表,同真实表一样,视图也由列和行构成,但视图并不实际存在于数据库中。行和列的数据来自于定义视图的查询中所使用的表,并且还是在使用视图时动态生成的。优点定制用户数据,聚焦特定的数据简化数据操作提高数据的安全性共享所需数据......
  • Mysql-设置连接数
    mysql连接数太多(SequelizeConnectionError:Toomanyconnections)这个就是最常见的问题了。因为我做的这个是前端监控系统,日志上报量比较大,所以经常会遇到连接数不够用的情况。除了你要使用其他技术来缓解并发量,还需要适当的设置mysql数据库的最大连接数。那么怎么增加mysql的最......
  • MySQL联表查询之连接和子查询
    一.连接内连接:内连接一共有两种方式:隐式内连接:select 字段名from 表1,表2 where 条件.....;显式内连接:select 字段名from 表1[inner] join表2 on 连接条件; 内连接就是查询绿色部分,也就是两张或多张表相同的地方最多的就是等值连接外连接:左外连......