Windows安装MySQL 5.7.18 解压版的教程
时间:2020-11-03 13:31 作者:admin
一、安装过程
mysql/' target='_blank'>mysql 版本:5.7.18
1 、配置my.ini文件(简单的配置),放到MySQL的根目录下,此处的文件路径配置需要为绝对路径(使用反斜杠需要双拼,斜杠一个就可以了)(data文件夹不用自己创建,后面生成)
[client]default-character-set=utf8[mysqld]port=3306character_set_server=utf8basedir="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 :checkAdmingoto menu:菜单:menuclsecho. echo.=-=-=-=-请选择您要对MySQL的操作-=-=-=-=-echo.echo.1: 启动MySQLecho.echo.2: 关闭MySQLecho. echo.3: 重启MySQLecho. echo.4: 退 出echo.echo.=-=-=-=-请输入您要选择的项目序号↓-=-=-=-set /p id=if "%id%"=="1" goto startupif "%id%"=="2" goto shutdownif "%id%"=="3" goto rebootif "%id%"=="4" exitpause:启动:startupecho.call :checkMySQL 1echo.启动MySQL......net start "MySQL"echo.启动MySQL成功!pause goto menu :停止:shutdownecho.call :checkMySQL 2echo.关闭MySQL......net stop "MySQL"echo.关闭MySQL成功!pause goto menu:重启:rebootecho.call :checkMySQL 2echo.关闭MySQL......net stop "MySQL"echo.关闭MySQL成功!goto startupgoto menu:退出:gooutpausegoto menu:检查MySQL进程是否存在:checkMySQLset /a count=0for /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):检查是否是以管理员身份运行:checkAdminecho test am i admin? > %SystemRoot%\System32\admin.hujunjieif not exist %SystemRoot%\System32\admin.hujunjie ( echo 警告:请以管理员身份运行! pause exit)# 这里的xxxx可以自己设定del %SystemRoot%\System32\admin.xxxx
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
(责任编辑:admin)