MySQL 5.7版本安装教程-踩坑总结

下载

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文件目录下

884968-20161020123016232-1101646893.png

884968-20161020123030920-1373755777.png

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

mysql install
net start mysql

出现如下图问题

884968-20161020123043685-1136756951.png

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

mysqld --console

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

884968-20161020123058185-1658030879.png

所以我就自己跑去新建了个data文件夹,再启动然而依旧错误漫天飞,Excuse me?
最后终于找到靠谱的答案,data文件是不需要自己配置的,先删除自己自作聪明的data文件,然后注释掉my.ini中的datadir代码,配置环境变量然后执行

mysqld --initialize

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

net start mysql

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

884968-20161020123115326-952667212.png

登录MySQL

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

884968-20161020123129217-1792719280.png

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

重置密码

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

884968-20161020123144201-190066898.png

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

884968-20161020123152357-1830704118.png

正确的打开方式是首先在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

884968-20161020123205326-1897261201.png

mysql -u root

884968-20161020123213326-1112470687.png

输入更改密码的语句

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

然而结果如图

884968-20161020123225138-1708009981.png

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

正确姿势:

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

884968-20161020123308154-656863994.png

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

884968-20161020123315482-790796131.png

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

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

转载于:https://www.cnblogs.com/MemoryLily/p/5980413.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值