工作中遇到的几个常见的mysql报错案例分享

本文介绍了几个常见的MySQL使用中遇到的问题及解决方法,包括事务锁超时、大表删除导致宕机、表莫名删除的排查、备份报错以及连接报错的解决方案。通过案例分享了如何诊断和修复这些问题,同时提到了开启日志功能来追踪操作以及配置参数来优化性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例1

执行增删改SQL报如下错误

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

原因:有其他进程在查看/更新相同表/数据

解决办法:

show processlist;  #找到相应进程id
终端命令行  kill相应id

案例2

数据库删除大表导致实例宕机,重启数据库起不来,被锁死

报错: InnoDB: Unable to lock ./ibdata1 error: 11

解决办法:

mv /var/lib/mysql/ibdata1  /
mv /ibdata1  /var/lib/mysql/
再次重启mysql

案例3

问题场景:

数据库里新建一个表,莫名其妙被删除,如何排查被删除的原因

#mysql开启日志功能

1、先开启日志功能
show variables where Variable_name = 'general_log';
show variables like 'general_log';
set global general_log=on;
2、实时查询日志
tail -f /{mysql数据目录}/***.log |grep ${表名}

案例4

mysqldump备份报错:Binlogging on server not active

解决办法: 开启binlog

sudo vi /etc/my.cnf

log-bin=mysql-bin
server-id=1

案例5

navicat连接mysql8报错

Authentication plugin 'caching——sha2_password' cannot be loaded: dlopen

原因:

mysql 8.0 默认更改了身份验证机制(caching_sha2_password),从版本5.7之前 mysql_native_password 更改为 caching_sha2_password。 Navicat客户端不支持新的加密方式

解决方案:

终端登录数据库,用原始的加密方案重新加密用户

alter user root@'%' identified with mysql_native_password by '密码';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值