MySQL5.7.18在Windows下如何安装解压版的教程

这篇文章主要为大家详细介绍了windows安装mysql 5.7.18 解压版的详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、安装过程

MySQL 版本:5.7.18

1 、配置my.ini文件(简单的配置),放到MySQL的根目录下,此处的文件路径配置需要为绝对路径(使用反斜杠需要双拼,斜杠一个就可以了)(data文件夹不用自己创建,后面生成)

[client]  default-character-set=utf8  [mysqld]  port=3306  character_set_server=utf8  basedir="D:mysql-5.7.18-winx64"  datadir="D:mysql-5.7.18-winx64data"  # 服务端使用的字符集默认为8比特编码的latin1字符集  character-set-server=utf8  # 创建新表时将使用的默认存储引擎  default-storage-engine=INNODB  [WinMySQLAdmin]  D:mysql-5.7.18-winx64binmysqld.exe

2 配置环境变量,在Path中配置bin目录

3 初始化数据库,生成data文件夹以及其中的一些配置文件(初始化后会生成root账户的默认密码:在xx.err文件中)

mysqld -initialize  # err文件示例:  [Note] A temporary password is generated for root@localhost: w1BI/g/y.wfx

4 注册服务

mysqld -install

5 启动MySQL

net start mysql

6 启动后登录,填入生成的默认密码

mysql -uroot -p

7 修改账户的密码

set password for root@localhost=password('root');

8 停止MySQL服务

net stop mysql

9 若想删除MySQL服务,可以是有下面命令删除

mysqld -remove

二、安装后问题

ONLY_FULL_GROUP_BY 问题

使用后有时会报错:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'col_user_6.a.START_TIME' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

原因:MySQL 默认开启了only_full_group_by模式,这个只能获取受到group by影响的字段信息,不能与其它没有受到group by影响的字段共存,或者是只能将group by的字段放到select关键字的首位,这个是有局限的
解决方案:

1)直接sql解决:这个解决方案有点局限性,就是数据库重启的时候还是会默认启动only_full_group_by模式

复制代码 代码如下:

SET @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_pISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

2)永久性解决:在my.ini文件[mysqld]下,添加以下条件,这样在MySQL启动的时候将only_full_group_by模式过滤掉了

复制代码 代码如下:

sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_pISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

三 控制脚本

最后写一个控制脚本,这样就可以在自己使用MySQL的时候频繁的使用命令操作了

cls   @echo off  :设置窗口字体颜色  color 0a   :设置窗口标题  TITLE MySQL管理程序    call :checkAdmin    goto menu  :菜单  :menu  cls  echo.   echo.=-=-=-=-请选择您要对MySQL的操作-=-=-=-=-  echo.  echo.1: 启动MySQL  echo.  echo.2: 关闭MySQL  echo.   echo.3: 重启MySQL  echo.   echo.4: 退 出  echo.  echo.=-=-=-=-请输入您要选择的项目序号↓-=-=-=-  set /p id=  if "%id%"=="1" goto startup  if "%id%"=="2" goto shutdown  if "%id%"=="3" goto reboot  if "%id%"=="4" exit  pause    :启动  :startup  echo.  call :checkMySQL 1  echo.启动MySQL......  net start "MySQL"  echo.启动MySQL成功!  pause   goto menu     :停止  :shutdown  echo.  call :checkMySQL 2  echo.关闭MySQL......  net stop "MySQL"  echo.关闭MySQL成功!  pause   goto menu    :重启  :reboot  echo.  call :checkMySQL 2  echo.关闭MySQL......  net stop "MySQL"  echo.关闭MySQL成功!  goto startup  goto menu    :退出  :goout  pause  goto menu    :检查MySQL进程是否存在  :checkMySQL  set /a count=0  for /f "tokens=1 delims= " %%i in ('tasklist /nh ^| find /i "MySQL"') do (set /a count+=1)  if %count% neq 0 if "%1" equ "1" (   echo 警告:MySQL已启动   goto goout  )  if %count% equ 0 if "%1" equ "2" (   echo 警告:MySQL未启动   goto goout  )    :检查是否是以管理员身份运行  :checkAdmin  echo test am i admin? > %SystemRoot%System32dmin.hujunjie  if not exist %SystemRoot%System32dmin.hujunjie (   echo 警告:请以管理员身份运行!   pause   exit  )  # 这里的xxxx可以自己设定  del %SystemRoot%System32dmin.xxxx

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享