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]Atemporarypasswordisgeneratedforroot@localhost:w1BI/g/y.wfx
4注册服务
mysqld-install
5启动MySQL
netstartmysql
6启动后登录,填入生成的默认密码
mysql-uroot-p
7修改账户的密码
setpasswordforroot@localhost=password('root');
8停止MySQL服务
netstopmysql
9若想删除MySQL服务,可以是有下面命令删除
mysqld-remove
二、安装后问题
ONLY_FULL_GROUP_BY问题
使用后有时会报错:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Expression#2ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'col_user_6.a.START_TIME'whichisnotfunctionallydependentoncolumnsinGROUPBYclause;thisisincompatiblewithsql_mode=only_full_group_by
原因:MySQL默认开启了only_full_group_by模式,这个只能获取受到groupby影响的字段信息,不能与其它没有受到groupby影响的字段共存,或者是只能将groupby的字段放到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 @echooff :设置窗口字体颜色 color0a :设置窗口标题 TITLEMySQL管理程序 call:checkAdmin gotomenu :菜单 :menu cls echo. echo.=-=-=-=-请选择您要对MySQL的操作-=-=-=-=- echo. echo.1:启动MySQL echo. echo.2:关闭MySQL echo. echo.3:重启MySQL echo. echo.4:退出 echo. echo.=-=-=-=-请输入您要选择的项目序号↓-=-=-=- set/pid= if"%id%"=="1"gotostartup if"%id%"=="2"gotoshutdown if"%id%"=="3"gotoreboot if"%id%"=="4"exit pause :启动 :startup echo. call:checkMySQL1 echo.启动MySQL...... netstart"MySQL" echo.启动MySQL成功! pause gotomenu :停止 :shutdown echo. call:checkMySQL2 echo.关闭MySQL...... netstop"MySQL" echo.关闭MySQL成功! pause gotomenu :重启 :reboot echo. call:checkMySQL2 echo.关闭MySQL...... netstop"MySQL" echo.关闭MySQL成功! gotostartup gotomenu :退出 :goout pause gotomenu :检查MySQL进程是否存在 :checkMySQL set/acount=0 for/f"tokens=1delims="%%iin('tasklist/nh^|find/i"MySQL"')do(set/acount+=1) if%count%neq0if"%1"equ"1"( echo警告:MySQL已启动 gotogoout ) if%count%equ0if"%1"equ"2"( echo警告:MySQL未启动 gotogoout ) :检查是否是以管理员身份运行 :checkAdmin echotestamiadmin?>%SystemRoot%\System32\admin.hujunjie ifnotexist%SystemRoot%\System32\admin.hujunjie( echo警告:请以管理员身份运行! pause exit ) #这里的xxxx可以自己设定 del%SystemRoot%\System32\admin.xxxx
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。