码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【MySQL】常见错误汇总


    目录

    一、远程连接MySQL用户权限问题

    解决方案

    二、mysql使用聚合函数group by 报错

    解决方案一

    解决方案二

     三、MySQL导入数据时 server has gone away

    解决方案一

    解决方案二


    一、远程连接MySQL用户权限问题

    远程连接MySQL时,提示:ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server,是无法给远程连接的用户权限问题。

    解决方案

    输入mysql -u root -p密码  进入mysql控制台,执行下面两条语句,即可远程连接了

    1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
    2. flush privileges;

    二、mysql使用聚合函数group by 报错

    linux上,mysql使用聚合函数group by 时报错:SELECT list is not in GROUP BY clause and contains nonaggre

    报错示例

    1. Expression #2 of SELECT list is not in GROUP BY clause and contains
    2. nonaggregated column ‘sss.month_id’ which is not functionally
    3. dependent on columns in GROUP BY clause; this is incompatible with
    4. sql_mode=only_full_group_by

    问题分析: MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY。有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”。)

    解决方案一

    1、打开navcat,用sql查询:

    select @@global.sql_mode

    2、运行结果

    ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    3、去掉ONLY_FULL_GROUP_BY,重新设置值。

    set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    但以上方式只是临时的,重启mysql后会恢复原来的模式,产生错误。

    解决方案二

    在配置文件 /etc/my.cnf 或自己的mysql配置文件中去掉ONLY_FULL_GROUP_BY,此方法永久有效。

    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

     三、MySQL导入数据时 server has gone away

    一般在我们导入大文件时会连接断开,导致出现此类错误

    导致原因

    • MySQL服务器超时设置过短,导致连接断开。
    • 导入的sql文件过大,MySQL服务器无法处理所有数据,导致连接断开。
    • MySQL服务器内存不足,无法处理数据,导致连接断开。

    解决方案一

    修改超时设置:打开Mysql配置文件,找到"[mysqld]"一栏,在下面修改(没有这两个参数的话可直接添加)下面两个参数

    1. wait_timeout=600
    2. max_allowed_packet=64M

    参数值可以根据自己需求修改,修改完成后记得重启mysql

    解决方案二

    当一个sql文件过大时,我们可以通过将其拆分成更小的文件,逐个导入到数据库中,以避免连接断开的问题。可以使用“split”或其他类似命令进行操作。

    持续更新 ~

  • 相关阅读:
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    政安晨:【Keras机器学习示例演绎】(十四)—— 用于弱光图像增强的零 DCE
    设计模式之单例设计模式
    二十三、java版 SpringCloud分布式微服务云架构之 Java 多态
    剑指offer---Day5
    http客户端Feign
    springboot网上报销系统的设计与实现毕业设计源码131706
    NSQ安装与运行
    FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
    virtualbox7 虚拟机与宿主机互传文件、共享u盘
  • 原文地址:https://blog.csdn.net/qq_25285531/article/details/134026757
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号