• ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregate


    字面意思理解是sql_model=only_full_group_by限制了,导致在以往MYSQL版本中能正常查询的SQL,在5.7不能用了
    参考文档:
    http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-setting

    文档指出:ONLY_FULL_GROUP_BY的设定,将不允许查询字段包括非聚集列

    查询mysql服务器版本:
    select @@version
    显示:
    5.7.10

    错误的原因是我mysql版本是5.7的,使用如下语句查询可知

    直接修改mysql配置文件(我的系统是Ubuntu16.04的,在/etc/mysql/mysql.conf.d/mysqld.cnf中并没有sql_mode这个配置,所以直接加上就好,如果是其他系统有得修改就不用添加了)

    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

    Linux启动/停止/重启Mysql数据库的方法+连接MySQL

    1、查看mysql版本
    方法一:status;
    方法二:select version();

    2、Mysql启动、停止、重启常用命令
    a、启动方式
    1、使用 service 启动:
    [root@localhost /]# service mysqld start (5.0版本是mysqld)
    [root@szxdb etc]# service mysql start (5.5.7版本是mysql)

    2、使用 mysqld 脚本启动:
    /etc/inint.d/mysqld start

    3、使用 safe_mysqld 启动:
    safe_mysqld&

    b、停止
    1、使用 service 启动:
    service mysqld stop

    2、使用 mysqld 脚本启动:
    /etc/inint.d/mysqld stop

    3、mysqladmin shutdown

    c、重启
    1、使用 service 启动:
    service mysqld restart 
    service mysql restart (5.5.7版本命令)

    2、使用 mysqld 脚本启动:
    /etc/init.d/mysqld restart

    二、连接MySQL:

    格式: mysql -h主机地址 -u用户名 -p用户密码

    1、例1:连接到本机上的MYSQL

    找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

    2、连接到远程主机上的MySQL

    假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:

    mysql -h10.0.0.1 -uroot -p123

    (注:u与root可以不用加空格,其它也一样)

    3、退出MySQL命令

    exit (回车)

  • 相关阅读:
    复习静态页面polo-360
    fsm三种建模思路比较
    web前端学习(一) j2ee环境搭配+jsp中的编码问题
    git与github建立链接(学习笔记)
    g++编译多个源原文件和头文件(转载)
    百度搜索引擎设置
    Google自带截图工具的使用
    git与github建立链接(将本次项目与网络GitHub同步) --转存笔记
    初识JQuery(1)-选择器
    同步与异步的区别
  • 原文地址:https://www.cnblogs.com/zhangshijiezsj/p/14767948.html
Copyright © 2020-2023  润新知