Windows安装MySQL 5.7.18 解压版的教程

 更新时间:2017年07月24日 16:27:58   作者:Spade-A  
这篇文章主要为大家详细介绍了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-winx64\\data"
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[WinMySQLAdmin]
D:\\mysql-5.7.18-winx64\\bin\\mysqld.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_DIVISION_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_DIVISION_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%\System32\admin.hujunjie
if not exist %SystemRoot%\System32\admin.hujunjie (
 echo 警告:请以管理员身份运行!
 pause
 exit
)
# 这里的xxxx可以自己设定
del %SystemRoot%\System32\admin.xxxx

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 关于MySQL的存储过程与存储函数

    关于MySQL的存储过程与存储函数

    存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集(这些SQL语句已经编译过了),它存储在数据库中,一次编译后永久有效,需要的朋友可以参考下
    2023-05-05
  • 一文解决连接MySQL报错is not allowed to connect to this MySQL server

    一文解决连接MySQL报错is not allowed to connect to this MySQL 

    这篇文章主要给大家介绍了关于如何通过一文解决连接MySQL报错is not allowed to connect to this MySQL server的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • MySQL之Field‘***’doesn’t have a default value错误解决办法

    MySQL之Field‘***’doesn’t have a default value错误解决办法

    这篇文章主要介绍了MySQL之Field‘***’doesn’t have a default value错误解决办法,需要的朋友可以参考下
    2015-04-04
  • MySQL Replication中的并行复制示例详解

    MySQL Replication中的并行复制示例详解

    MySQL在5.6版本之前,主从复制的从节点上有两个线程,分别是I/O线程和SQL线程,今天通过本文给大家介绍MySQL Replication中的并行复制示例详解,感兴趣的朋友一起看看吧
    2022-07-07
  • MySql树形结构(多级菜单)查询设计方案

    MySql树形结构(多级菜单)查询设计方案

    本文主要介绍了MySql树形结构(多级菜单)查询设计方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • mysql删除重复行的实现方法

    mysql删除重复行的实现方法

    这篇文章主要介绍了mysql删除重复行的实现方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • mysql远程跨库联合查询的示例

    mysql远程跨库联合查询的示例

    本文主要介绍了mysql远程跨库联合查询的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Ubuntu安装Mysql+启用远程连接的完整过程

    Ubuntu安装Mysql+启用远程连接的完整过程

    这篇文章主要介绍了Ubuntu如何安装Mysql+启用远程连接,用ssh客户端或者云服务器厂家提供的网页版控制台都行,只要你能连上服务器就行,需要的朋友可以参考下
    2022-06-06
  • Mysql中varchar长度设置方法

    Mysql中varchar长度设置方法

    这篇文章主要介绍了Mysql中varchar长度设置方法的相关资料,本文还给大家带来了valar类型的变化及char()和varchar()的区别介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • MySQL 数据库常用命令 简单超级实用版

    MySQL 数据库常用命令 简单超级实用版

    MySQL 数据库常用命令,都是一些比较基础的东西,更多的命令可以查看相关文章里面的文字。
    2010-07-07

最新评论