http://blog.csdn.net/will5451/article/details/51498190
在使用mysql是在navicat中查询一条简单语句使用了 select * from table 虽然查询成功了,但是报了[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clausethis is incompatible with sql_mode=only_full_group_by 错误.
在MySQL5.7之后,sql_mode中默认存在ONLY_FULL_GROUP_BY,SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错。
ONLY_FULL_GROUP_BY模式要求select语句中查询出来的列必须是明确的(其他语句也是一样)。
以SQL语句 select columes from table group by list 为例:columns必须是聚集函数或者在group by后的表达式list中,并且list中必须包含主键,否则也会报错。
insert、update、delete语句都会报错(但不影响SQL语句的执行),因为这三种语句执行之前也会执行查询 *** 作。
以主键为id的表为例:
执行sql语句使sql_mode的模式去掉ONLY_FULL_GROUP_BY,但是重启服务会失效
注意: 在ubuntu 18中的mysql配置文件需要修改 mysqld.cnf , 其他系统的其他mysql版本需要根据特定情况查找需要修改的配置文件,如:windows中一般是 my.ini ,linux中可能是 my.cnf
在[mysqld]下面增加如下内容
验证: 再次在navicat中 select * from table 查询,已没有错误.
首先检查系统中是否已经安装了MySQL在终端里面输入 sudo netstat -tap | grep mysql
若没有反映,没有显示已安装结果,则没有安装。若如下显示,则表示已经安装了。
如果没有安装,则安装MySQL。
在终端输入 sudo apt-get install mysql-server mysql-client
运行结果如下所示:
在此安装过程中会让你输入root用户(管理MySQL数据库用户,非Linux系统用户)密码,按照要求输入即可。输入完密码按tab键切换。如下所示:
测试安装是否成功:
在终端里面输入 sudo netstat -tap | grep mysql
如下显示表示安装成功了。
也可以登录MySQL进行测试。
在终端输入 mysql -uroot -p 接下来会提示你输入密码,输入正确密码,即可进入。如下所示:
步骤阅读
给大家推荐两个远程挂载MySQL的软件,在Windows下远程 *** 作Linux下的MySQL。navicat(主要是产看数据库),sqlyog(增删改查)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)