下载

MySQL下载地址

选择下载64位(看自己电脑是32位还是64位)

点击下载之后,它会让你登录,没有Oracle账户,跟着它的步骤注册一个就好了。

安装

打开下载好的压缩包解压到你的某一目录下,这里我放到了D:\MySQL下

如上图所示,在你解压的文件夹下是没有my.ini这个配置文件的,需要自己创建并用记事本打开,把下面这些代码粘贴复制进去

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

我在安装的时候,找了一个教程,教程中上面的#datadir=D:\MySQL\mysql-5.7.16-winx64\data这句代码是没有注释掉的,于是我就在之后的安装中遇到了麻烦。

填坑

首先配置默认文件

当我没有注释掉那句代码时,也就是这样子配置的

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

接下来开始安装

安装并启动

直接搜cmd,右键->以管理员身份运行

进入bin文件目录下

接下来输入安装、启动命令

mysql install

net start mysql

出现如下图问题

无法启动却无报错,在计算机管理服务里也无法手动启动。有大神说可以执行

mysqld --console

命令查看错误信息,如下图,意思是说没有data文件,而在my.ini配置文件中代码里设置了(datadir=D:\MySQL\mysql-5.7.16-winx64\data)

所以我就自己跑去新建了个data文件夹,再启动然而依旧错误漫天飞,Excuse me?

最后终于找到靠谱的答案,data文件是不需要自己配置的,先删除自己自作聪明的data文件,然后注释掉my.ini中的datadir代码,配置环境变量然后执行

mysqld --initialize

即可自动生成data文件,这个时候再执行

net start mysql

命令,可以看到MySQL启动成功

登录MySQL

输入命令 mysql -uroot -p 回车,输入密码,按理说初次登录是没有密码的,直接回车即可登录,然而事实上,在执行 mysqld --initialize命令时它不仅自动创建了data数据,还随机分配了密码,在你的文件中搜索 .err后缀的文件,以记事本方式打开,你会看到下图

对,这就是你的密码,每个人不一样,看你自己的,输入进去登录就可以了。接下来你想进行一些操作,发现它会提示你,需要先重置密码。那么接下来再看重置密码的坑。

重置密码

在网上查找方法,基本上都是如下步骤:

然而我输入命令结果是这样子的

正确的打开方式是首先在my.ini配置文件的[mysqld]下面加上

[mysqld]

explicit_defaults_for_timestamp = true

然后输入如下命令,回车后会一直停止,然后打开另一个cmd命令窗口

mysqld --default-file="D:\MySQL\mysql-5.7.16-winx64\my.ini" --skip-grant-tables

mysql -u root

输入更改密码的语句

use mysql

UPDATE mysql.user SET password=PASSWORD("lyymysql") WHERE User='root';

然而结果如图

所以查看数据库,发现5.7版本里的user表里已经没有了password这个字段

正确姿势:

update mysql.user set authentication_string=PASSWORD('lyymysql') WHERE User='root';

flush privileges

exit

吁~这下终于可以启动登录MySQL 了

这一上午踩坑踩得真呀么欢快~

小提示:以上命令中的路径都要改为自己的路径,要不然是不对的。如果有什么疑问可以在下方评论。

MySQL 5.7版本安装教程-踩坑总结的更多相关文章

  1. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  2. ubuntu 下安装docker 踩坑记录

    ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...

  3. sqlserver安装和踩坑经历

    sqlserver安装和踩坑经历 下载 下载 安装 大致是按照这个来的 安装教程 出错 windows系统安装软件弹出"Windows installer service could not ...

  4. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...

  5. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  6. MySQL 8.0.20 安装教程图文详解(windows 64位)

    MySQL 8.0.20 安装教程图文详解(windows 64位)  更新时间:2020年05月09日 15:09:04   转载 作者:瘦肉粥不加糖     这篇文章主要介绍了MySQL 8.0. ...

  7. MySQL Connector/NET 使用小结(踩坑之路)

    背景描述 根据项目的需要,需连接MySQL获取数据. 首先,先了解一下项目的情况: 之前的代码是C#编写的的, 运行时:.NETFramework3.5. 由于项目已经部署上线,因此不能升级运行时,这 ...

  8. MAC下STF安装及踩坑

    [Mac OS X]brew: command not found ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebr ...

  9. OpenCV+Qt+CMake安装+十种踩坑

    平台:win10 x64+opencv-3.4.1 + qt-x86-5.9.0 + cmake3.13.4 x64 OpenCV+Qt+CMake安装,及目前安装完后打包:mingw32-make时 ...

随机推荐

  1. 虚拟机固定IP访问外网配置

    大家都知道虚拟机网络连接有三种模式,桥接,host-only,NAT,不再赘述. 这里说一下桥接模式下,实现主机与虚拟机通讯,虚拟机与虚拟机通信,虚拟机访问外网,废话不多说,直接说解决方案: 1.本地 ...

  2. ZOJ 3725 Painting Storages(DP+排列组合)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5048 Sample Input 4 3 Sample Output ...

  3. easy ui tree 取父节点的值和取蓝色框的值

    var nodes = $('#basetree').tree('getChecked'); var cnode = ''; var fnode = ''; for ( var i = 0; i &l ...

  4. sharepoint读取站点下列表

    前言 还是自己做着练习,也算对这个代码的一个认识吧.东西没什么. 过程 这是后台的一下代码,其中我会对标注的地方解释一下. 标注1:是获取的列表中的某一个列名,标注2:是这个列表下的数据列的名称,我们 ...

  5. css3学习--css3动画详解一(animation属性)

    ***介绍的属性并不完全,写的都是我认为容易混淆的难点属性,所以属性会在最后综合案例展示~ 一.Keyframes介绍: Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主 ...

  6. 如何便携使用github

    Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中.目前,包括Rubinius ...

  7. Django如何设置proxy

    设置porxy的原因 一般情况下我们代理设置是针对与浏览器而言,通常只需在浏览器设置中进行配置,但它只针对浏览器有效,对我们自己编写的程序并任何效果,这时就需要我们在软件编码中加入代理设置. --- ...

  8. jackson学习----解析豆瓣的图书信息

      异常一. org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type [simple ...

  9. 《Journey》风之旅人;

    俩个人在茫茫世界相遇,互不相识,却能互相取暖,一路旅程,看尽了美丽的风景,也共同经历了暴风雪,然而该来的人会来,该走的人会走,这不就是人生旅途?

  10. Servlet处理Cookie

    1.CGI:进程,servlet:线程 2.HttpServletResponse下的方法就没有get开头的,(PrintWriter)getWriter在ServletResponse下. 3.st ...