各位用户为了找寻关于Windows安装MySQL 5.7.18 解压版的教程的资料费劲了很多周折。这里教程网为您整理了关于Windows安装MySQL 5.7.18 解压版的教程的相关资料,仅供查阅,以下为您介绍关于Windows安装MySQL 5.7.18 解压版的教程的详细内容
一、安装过程
MySQL 版本:5.7.18
1 、配置my.ini文件(简单的配置),放到MySQL的根目录下,此处的文件路径配置需要为绝对路径(使用反斜杠需要双拼,斜杠一个就可以了)(data文件夹不用自己创建,后面生成)
? 1 2 3 4 5 6 7 8 9 10 11 12 13[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文件中)
? 1 2 3mysqld -initialize
# err文件示例:
[Note] A temporary password is generated
for
root@localhost: w1BI
/g/y
.wfx
4 注册服务
? 1mysqld -
install
5 启动MySQL
? 1net start mysql
6 启动后登录,填入生成的默认密码
? 1mysql -uroot -p
7 修改账户的密码
? 1set
password
for
root@localhost=password(
'root'
);
8 停止MySQL服务
? 1net stop mysql
9 若想删除MySQL服务,可以是有下面命令删除
? 1mysqld -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的时候频繁的使用命令操作了
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90cls
@
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%System32admin.hujunjie
if
not exist %SystemRoot%System32admin.hujunjie (
echo
警告:请以管理员身份运行!
pause
exit
)
# 这里的xxxx可以自己设定
del %SystemRoot%System32admin.xxxx
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。