数据库 
首页 > 数据库 > 浏览文章

windows 安装解压版 mysql5.7.28 winx64的详细教程

(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )

1. 解压

解压到 D:\Mysql-5.7 路径下,并重命名文件为 mysql。

2.创建 data 文件夹

打开 mysql 文件夹创建 data 文件夹

windows 安装解压版 mysql5.7.28 winx64的详细教程

3.给 mysql 添加环境变量

3.1 打开控制面板,点击‘系统和安全'

windows 安装解压版 mysql5.7.28 winx64的详细教程

3.2点击‘系统'之后,点击‘高级系统设置'

windows 安装解压版 mysql5.7.28 winx64的详细教程
windows 安装解压版 mysql5.7.28 winx64的详细教程

3.3点击环境变量,进入环境变量设置菜单

windows 安装解压版 mysql5.7.28 winx64的详细教程

选中系统变量中的 “path”,在 path 值里面输入: D:\Mysql-5.7\mysql\bin 保存退出

windows 安装解压版 mysql5.7.28 winx64的详细教程

4.到 mysql 文件夹中创建 my.ini 文件并把以下内容粘贴进去

[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306
 #设置mysql的安装目录
basedir=D:\\Mysql-5.7\mysql
#设置mysql数据库的数据的存放目录
datadir=D:\\Mysql-5.7\mysql\data
#允许最大连接数	
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#开启查询缓存
explicit_defaults_for_timestamp=true
skip-grant-tables

5.打开命令提示符(cmd)(以管理员身份运行)

mysqld --initialize
mysqld install 
net start mysql

windows 安装解压版 mysql5.7.28 winx64的详细教程

执行mysql -uroot -p命令,因为我们在 my.ini 文件里面添加了 skip-grant-tables。所以,密码可以输入任意值。

windows 安装解压版 mysql5.7.28 winx64的详细教程

修改密码,刷新权限。

mysql> use mysql; #将数据库切换至mysql库
Database changed
mysql> update user set authentication_string=PASSWORD('123456') where user='root'; #修改密码
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

mysql> flush privileges; #刷新权限
Query OK, 0 rows affected (0.00 sec)

mysql> quit; # 退出 mysql 命令行

6.删除跳过密码验证设置

windows 安装解压版 mysql5.7.28 winx64的详细教程

开启非严格模式,不然不兼容5.6版本的部分语句,例如部分字段 group by 却在查询中查询全部字段,就会sql语句报错

# 非严格模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

7.错误问题收集

7.1 mysqld --initialize无反应

我使用的powersehll安装的,没反应,然后使用cmd窗口管理员模式,提示找不到msvcp120.dll,msvcr120.dll缺失

解决办法:  
在微软官网上下载的 Visual C++ Redistributable Packages for Visual Studio 2013

windows 安装解压版 mysql5.7.28 winx64的详细教程

参考:https://www.okcode.net/article/74194

上一篇:mysql用户变量与set语句示例详解
下一篇:为什么MySQL 使用timestamp可以无视时区问题.