ubuntu快速安装mysql5.7以及group by 问题

来源:互联网 发布:hiv试纸准确率 知乎 编辑:程序博客网 时间:2024/03/29 10:25

一、运行环境:

ubuntu 16.04 x64;mysql 5.7.20;

二、开始安装:

1.首先,将MySQL APT存储库添加到系统的软件存储库列表中:
打开地址:(http://dev.mysql.com/downloads/repo/apt/)然后找到相应的“.deb”文件下载地址,使用wget 命令下载文件。
命令如下:

shell>sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb

2.安装刚才下载的发行包:

shell> sudo dpkg -i mysql-apt-config_0.8.9-1_all.deb

3.执行安装后会弹出配置界面,可以选择安装mysql的版本和其它一些功能,配置完后选择ok进入下一步;
使用以下命令从MySQL APT存储库更新包信息(这一步是必需的):

shell> sudo apt-get update

4.用APT安装MySQL:

shell> sudo apt-get install mysql-server

在安装过程中,要求您为root用户提供MySQL安装的密码。
PS:
确保你记得你设置的root密码。稍后想要设置密码的用户可以在对话框中将密码字段保留为 空,然后按确定 ; 在这种情况下,对服务器的根访问将通过使用Unix套接字文件进行连接的 Socket Peer-Credential Pluggable Authentication进行验证。稍后可以使用程序mysql_secure_installation设置root密码 。

5.启动和停止MySQL服务器:
MySQL服务器安装后自动启动。您可以使用以下命令检查MySQL服务器的状态:

shell> sudo service mysql status

使用以下命令停止MySQL服务器:

shell> sudo service mysql stop

要重新启动MySQL服务器,请使用以下命令:

shell> sudo service mysql start

跟具体的见官方文档

mysql 5.7 group by 问题:

mysql5.7 sql查询模式默认开启了only_full_group_by,原来的group by语句要报错:

Error Code: 1055. Expression #17 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'jinshang.b.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

解决办法:
1.查看sql_mode select @@global.sql_mode;
默认查询结果如下:

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

2.删除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'; 

PS:这样设置结果不会在当前会话生效,去掉set后面的global可立即生效;

3.这样做只是修改了本次运行的sql_mode,mysql一旦重启就会恢复默认值。解决办法,修改mysql配置文件my.conf。一般路径在:/etc/mysql/my.conf,但个别情况以具体而定。
使用vim修改文件:

shell> vim /etc/mysql/my.conf

修改结果:
这里写图片描述

原创粉丝点击