一、安装过程
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-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文件中)
1
2
3
|
mysqld -initialize # err文件示例: [Note] A temporary password is generated for root@localhost: w1BI /g/y .wfx |
4 注册服务
1
|
mysqld - install |
5 启动MySQL
1
|
net start mysql |
6 启动后登录,填入生成的默认密码
1
|
mysql -uroot -p |
7 修改账户的密码
1
|
set password for root@localhost=password( 'root' ); |
8 停止MySQL服务
1
|
net stop mysql |
9 若想删除MySQL服务,可以是有下面命令删除
1
|
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模式
2)永久性解决:在my.ini文件[mysqld]下,添加以下条件,这样在MySQL启动的时候将only_full_group_by模式过滤掉了
三 控制脚本
最后写一个控制脚本,这样就可以在自己使用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
90
|
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 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。