当前位置: 首页 > 科技观察

建议收藏以备后用!MySQL常见错误码解释

时间:2023-03-17 22:21:05 科技观察

我给大家看几个例子的错误分析和解决方法。1.ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/data/mysql/mysql.sock'问题分析:可能是数据库没有启动或者端口被防火墙禁止了。解决方法:启动数据库或在防火墙上打开数据库监听端口。2.ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)问题分析:密码不正确或无权限访问。解决方法:1)修改主配置文件my.cnf,在[mysqld]下添加skip-grant-tables,重启数据库。最后修改密码的命令如下:mysql>usemysql;mysql>updateusersetpassword=password("123456")whereuser="root";删除刚刚添加的skip-grant-tables参数,重启数据库,使用新密码登录。2)重新授权,命令如下:mysql>grantallon*.*to'root'@'mysql-server'identifiedby'123456';3、客户端报Toomanyconnections问题分析:连接数超过了Mysql的最大连接数限制。解决方法:增加my.cnf配置文件中的连接数,然后重启MySQL服务。max_connections=10000临时修改最大连接数,重启后不生效。需要修改my.cnf中的配置文件,下次重启才会生效。setGLOBALmax_connections=10000;4.警告:全局可写配置文件'/etc/my.cnf'被忽略错误!MySQL正在运行但找不到PID文件问题分析:MySQL配置文件/etc/my.cnf权限错误。解决方法:chmod644/et/my.cnf5.InnoDB:Error:page14178logsequencenumber29455369832InnoDB:是在未来!当前系统日志序号29455369832问题分析:innodb数据文件损坏。解决方法:修改my.cnf配置文件,在[mysqld]下添加innodb_force_recovery=4,启动数据库后备份数据文件,然后去掉该参数,使用备份文件恢复数据。6、从库的Slave_IO_RunningisNO问题分析:主库和从库的server-id值相同。解决方法:修改从库server-id的值,使其与主库不同,低于主库。修改后重启,然后再次同步!7、从库的Slave_IO_Running为NO问题分析:从库线程为NO的原因有很多。主要原因是主键冲突或主库删除或更新数据。小于记录,数据被修改。通常错误状态码有1007、1032、1062、1452等。方案一:mysql>stopslave;mysql>setGLOBALSQL_SLAVE_SKIP_COUNTER=1;mysql>启动从站;方案二:设置用户权限,从库setglobalread_only=true设置只读权限;8.Errorinitializingrelaylogposition:I/Oerrorreadingtheheaderfromthebinarylog分析问题:从库的relay-bin损坏。解决方法:手动修复,重新找到同步的binlog和pos点,然后重新同步。mysql>CHANGEMASTERTOMASTER_LOG_FILE='mysql-bin.xxx',MASTER_LOG_POS=xxx;维护过MySQL运维或者DBA的都知道,经常遇到的一些错误信息包括一些类似于10xx的代码。Replicate_Wild_Ignore_Table:Last_Errno:1032Last_Error:CouldnotexecuteUpdate_rowseventontablexuanzhi.test;Can'tfindbrecordin'test',Error_code:1032;handlererrorHA_ERR_KEY_NOT_FOUND;Theevent'smasterlogmysql-bin.000004,end_log_pos是不是遇到过这些代码具体是什么意思?这也给我们排查问题造成了一定的障碍。因此,今天米工哥整理了主从同步过程中的一些常见错误码及其具体说明。MySQL常见错误码说明:130:文件格式不正确。145:文件无法打开1005:建表失败1006:建库失败1007:数据库已存在,建库失败1008:数据库不存在,删除数据库失败1009:建库失败删除数据库文件失败1010:删除数据目录失败删除数据库失败1011:删除数据库文件失败1012:无法读取系统表中的记录1020:该记录已被其他用户修改1021:硬盘剩余空间不足,请增加硬盘可用空间1022:关键字重复,更改记录失败1023:关闭时出错1024:读取文件时出错1025:改名时出错1026:写入文件时出错1032:记录不存在1036:数据表只读,不可修改1037:系统内存不足,请重启database或重启服务器1038:排序内存不足,请增加排序缓冲区1040:已达到数据库最大连接数,请增加数据库可用连接数1041:系统内存不足1042:主机名无效1043:无效连接1044:当前用户没有访问数据库的权限1045:无法连接到数据库,用户名或密码错误1048:字段不能为空1049:数据库不存在1050:数据表已经存在1051:数据表不存在1054:字段不存在1065:无效SQL语句,SQL语句为空1081:无法建立套接字连接1114:数据表已满,无法容纳任何记录1116:打开的数据表太多1129:数据库异常,请重启数据库1130:连接数据库失败,没有连接数据库的权限1133:数据库se用户不存在1141:当前用户没有访问数据库的权限1142:当前用户没有访问数据表的权限1143:当前用户没有访问数据表中字段的权限1146:数据表不存在1147:未定义用户访问数据表1149:SQL语句语法错误1158:网络错误,发生读取错误,请检查网络连接状态1159:网络错误,读取超时,请检查网络connectionstatus1160:Networkerror,发生写入错误,请检查网络连接状态情况1161:网络错误,写入超时,请检查网络连接状态1062:字段值重复,存储失败1169:字段值重复,更新记录失败1177:数据表打开失败1180:事务提交失败1181:事务回滚失败1203:当前用户与数据库建立的连接已达到数据库最大连接数。请增加可用数据库连接数或重新启动数据库。1205:锁定超时1211:当前用户没有创建用户的权限1216:外键约束检查失败,更新子表记录失败1217:外键约束检查失败,删除或修改主表记录失败1226:被使用的资源当前用户已超出允许的资源,请重启数据库或重启服务器1227:权限不足,您无权执行该操作1235:MySQL版本太低,没有该功能。1250:客户端不支持服务器要求的认证协议。请考虑升级客户端。1251:客户端不支持认证协议。客户端不支持服务器请求的认证协议;考虑升级MySQL客户端引用:1267:无效的混合字符集。2002:服务器端口错误。2003:MySQL服务未启动,请启动服务。2008:MySQL客户端内存溢出错误指向MySQL客户端mysql。这个错误的原因很简单,就是客户端没有足够的内存来存储所有的结果。2013:远程连接数据库有时会出现这个问题。MySQL服务器在执行SQL语句时失去连接。10048:建议修改my.ini文件中的最大连接数,将mysql_connect()方法改为mysql_pconnect()方法。修改mysql_pconnect(),可以在论坛数据目录下的sql_config.php中设置pconnect=0;//是否修改持久连接为pconnect=0;//是否修改持久连接为pconnect=0;//是否修改持久连接为pconnect=1;开启防刷新,严禁刷新过快。10055:没有可用的缓存空间,请检查您的C盘空间是否已满,清除一些无用的文件。您可以在后台的“论坛核心设置”和“核心功能设置”中开启“进程优化”和“GZIP压缩输出”。搜索10055(Nocachespaceavailable)10061:在本机启动MySQL服务。如果服务启动失败,那肯定是你的my.ini文件有错误,MySQL服务无法正常启动。删除后,MySQL会按其默认配置运行,那就没问题了

猜你喜欢