[笔记] MySQL 5.7 安装步骤-ZIP版本

1. 前言

1.1 MySQL版本及选择

MySQL一般可以直接从官网下载,选择一般就选GA(general available)标记的,GA可以翻译为通用版本,或者叫成熟版本更为合适。
笔者写文章时,有2个GA版本可以选择,一个是MySQL8.0,一个是MySQL5.7。那么,中间的版本去那里了呢?有兴趣的可以看题外话,没兴趣可以跳过。

这里讲讲如何选择这两个版本:

  1. 版本5.7 - 因为上一个版本5.7成熟了好多年,所以非常多的项目是构建在5.7版本的基础上的,所以如果是做现有项目的,建议还是下载5.7。因为5.7和8之间,有很多坑,如果负责项目升级的,那就建议一台机装5.7,一台机装8.0,然后研究差异,以便做升级改动。

  2. 版本8.0 - 这个版本在2018年发布,正常来说,新的版本不会一开始就很多项目会使用,大约在半年到一年时间,才会陆陆续续有项目开始使用,也就是说,2020年绝大多数在运行项目,仍然是5.7版本,可能很多在开发的项目,使用的是8.0版本。

  3. 选择建议:如果是有开发能力,自己可以从0开发的,建议选择MySQL8.0。如果是初学者,要拿别人的开源项目来研究的,建议还是MySQL5.7,因为你能找到的绝大多数已完成的开源项目,开始时间都在2019年以前…

本篇针对5.7 安装进行总结,想看8.0的可以看另外一篇文章。

1.2 MySQL下载地址

一般从MySQL官网直接下,不需要到其他镜像网站,谁知道镜像网站会插入些什么呢?
下载地址为:https://dev.mysql.com/downloads/mysql/

1.3 题外话 - MySQL 跳版本解释

官方解释:
The first question people are likely to ask: If the most recent version of MySQL was a 5.x release, why’s this one 8.0? For one, version 6.0 was canned as part of the transition to “more frequent and timely releases of the MySQL Server.” Version 7 was reserved for the clustering version of MySQL. That leaves 8.x as the next major version number for the common use-case version of MySQL.
翻译:
很多朋友对8.0的第一个问题就是:为什么上一个成熟版本是5.x,这个版本就变成了8.0。6和7去哪儿了?
解释就是,6.0 的主要工作就是内部改造,以便让MySQL能适应更快速的更新迭代及发布【笔者猜想,内在原因应该是把技术栈改造成敏捷模式,以适应Devops吧,不过官方没明说,也不好论证】
7.0 主要是改造MySQL的集群版本【没有对5.7和8.0做深入研究,估计是让MySQL更好的支撑分布式或云服务?有知道的大牛可留言更正】
所以8.0 是下一个主要的通用意义上的数据库升级。

2. 安装配置

2.1 说明

笔者下载的是zip包,不需要安装,但需要配置才能用。因为笔者不喜欢注册表装太多东西。如果希望用自动安装软件的,可在其他地方找,那个比较方便,也比较容易

2.2 系统设置

  1. 在开始之前,在命令行输入mysqld --verbose --help,因为还没配置,所以应该显示错误信息
C:\Windows\system32>mysqld --verbose --help
'mysqld' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
  1. 把下载的文件解压,笔者解压后的路径如下
D:\Tools\mysql-5.7.30
  1. 在环境变量中,在系统变量中,在Path这个变量下,添加解压路径的bin目录,按笔者上述的解压位置,添加的值为:D:\Tools\mysql-5.7.30\bin
  2. 再打开一个新的命令行窗口一定记得是另外打开一个,不要用原来的,在命令行再次输入mysqld --verbose --help
  3. 嗯,窗口会显示很多信息,让它滚动一会儿

到此,MySQL的系统配置就搞定了,是不是很简单?但别高兴得太早,还有数据库本身的很多信息要设置。

2.3 初始化

  1. 在解压路径下,自建一个叫my.ini的文件,复制以下信息(记得把路径改成自己的解压路径)
[mysqld]
#MySQL程序安装目录
basedir=D:\Tools\mysql-5.7.30

#数据库文件存放地址,首次初始化时必须是空的
datadir=D:\Tools\mysql-5.7.30\mydata

#MySQL默认端口
port = 3306

#最大连接数
max_connections=200

character-set-server=utf8

#数据库默认使用引擎
default-storage-engine=INNODB

#timestamp类型为空时,是否设置默认值
explicit_defaults_for_timestamp=true

[mysql]
#mysql客户端默认的字符集,5.7才有的,5.6以及之前的版本没有default-character-set属性
default-character-set=utf8
  1. 在命令行窗口输入mysqld --initialize-insecure --user=mysql,出现以下字眼说明没用管理员权限打开命令行窗口
C:\Windows\system32>mysqld --initialize-insecure --user=mysql
Install/Remove of the Service Denied!
  1. 用管理员权限打开命令行窗口,再次输入mysqld --initialize-insecure --user=mysql,等待片刻,没有出现错误信息,再次出现命令提示符,说明初始化成功(这里笔者认为用户体验不友好,什么都没提示,首次初始化是否成功,心里是很忐忑的)
C:\Windows\system32>mysqld --initialize-insecure --user=mysql
C:\Windows\system32>
  1. 再运行mySQL的安装命令,出现成功的提示,则表示安装成功
C:\Windows\system32>mysqld -install
Service successfully installed.
  1. 这时按“win + R” 打开运行,输入“services.msc”,点击确定打开服务列表就能看到名为MySQL的服务,如果看到这份服务还没运行,可以在服务窗口右键启动。或者在命令行窗口输入以下命令启动
C:\Windows\system32>net start MySQL
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
  1. 最后设定初始密码,就完成配置了(以下Enter password那里,什么都不要输入,直接按回车即可)
C:\Windows\system32>mysqladmin -uroot -p password 123456
Enter password:
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

由于第3步初始化时使用了 –initialize-insecure 参数,所以在“Enter password: ”时直接回车不用输入密码。不加-insecure使用mysqld --initialize命令初始化数据库时会随机生成密码,这样在修改密码时Enter password要输入随机生成的密码,如果提示需要密码,可以打开data目录下的.err文件,搜索"A temporary password is generated for root@localhost",最后面就是密码

  1. 如果想删除MySql服务,先让服务停止运行,然后用下边命令删除
C:\Windows\system32>sc delete mysql
[SC] DeleteService 成功

3. 错误信息收集

3.1 Install/Remove of the Service Denied!

遇到这个问题,是因为执行命令的窗口权限不够,需要用管理员权限打开命令行窗口,即可解决问题

4. 如何连接MySQL

笔者用的是navicat连接的,这个工具比较简单,自行在网上搜索即可。在navicat中,输入上述端口,用户名,密码,即可访问。新建连接如下:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值