MySQL 常见问题和报错处理

2025-06-30 22:54:00
丁国栋
原创 62
摘要:本文记录和汇总一些MySQL 常见问题和报错处理。

问题1:在给已存在的表添加字段时,MySQL Driver提示SQLSTATE[HY000]: General error: 1799 Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.

解决办法:提高该值的大小,例如设置为1GB,SET GLOBAL innodb_online_alter_log_max_size=1073741824;


问题2:在MySQL数据库实例的服务器上本地登录MySQL服务器提示 ERROR 1040 (HY000): Too many connections

解决办法:检查磁盘空间是否写满,如果磁盘空间写满第一时间清理或扩容磁盘空间。查看MySQL错误日志。如果长时间无法停止MySQL可以杀掉进程(需要确认是否有实时备份【binlog】和对业务有影响【高QPS、业务依赖实时性较高的查询结果】)。磁盘空间用尽后mysql的binlog日志会无法写入,可能会导致复制发生异常,极端情况下需要重新做主从。如果主从要求不严格,也可以在从库上设置主库上最新的binlog postion【虽有效但不推荐】。


问题3:在MySQL数据库实例的服务器上在使用 sudo systemctl status mysql查看mysql服务状态时提示 /etc/mysql/debian-start: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),这是为什么,如何修复?

解决办法:检查 /etc/mysql/debian.cnf 配置文件中的信息是否配置有误,另一方面允许root用户在本地无密码登录可能是一种最佳实践,因此要么不修改root@localhost的密码,要么同步更新 /etc/mysql/debian.cnf 配置文件。

--

发表评论
博客分类