Win7环境下安装MySQL5.7.13(Zip版)过程记录

时间:2022-09-23 08:47:23

【下载并解压MySQL5.7.13】

MySQL现在提供的有四个版本。其中我们一般使用多的是社区版(MySQL Community Server)。官方下载地址

当前的版本是5.7.13,选择windows平台会看到提供的下载链接现在只有Zip版,没有.msi了(这个社区版的发展坎坷,包括MySQL被收购,收购的公司又被oracle收了,oracle喜欢钱等等原因,这里不详述了,有兴趣自己可以去查查看)。就下载适合自己的32bit或者64bit。我这里是win7 64bit版本的,下载下来之后解压,就会得到mysql-5.7.13-winx64的文件夹,可以放到你乐意它在的位置。我这里是改了文件夹名称为MySQL Server 5.7然后放到了E:\MySQL目录下。


【配置】

修改配置文件。

这里我直接修改了my-default.ini文件,网上很多会有新建my.ini文件自己添加内容等等,都可以。

在文件夹下你能找到my-default.ini这个文件,打开它,找到并设置以下内容:

  basedir = E:\MySQL\MySQL Server 5.7 //MySQL的安装目录
datadir = E:\MySQL\MySQL Server 5.7\data //MySQL数据库的数据存放目录
1.前面的#去掉

2.这里的data文件夹本来是不存在的,也不需要手动创建,MySQL会看着来。

我只修改了这两项。


【安装MySQL服务】

打开一个cmd.exe,将目录切换到E:\MySQL\MySQL Server 5.7\bin,运行: mysqld -install ,提示服务安装成功!运行services.msc一看,确实有一个名为MySQL的服务了,启动它。


【配置root用户登录】

默认情况下root是空密码,所以在bin目录下运行mysql -u root -p;,提示输入密码时,直接回车即可以root身份进入管理MySQL了。 (注:如果这一步提示你错误1045,看下面的【解决问题】)但是你输入命令行show databases;会发现会提醒你
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
输入命令行:SET authentication_string=PASSWORD('xxxx'); //xxx代表你的密码
看到提示Query OK, 0 rows affected, 1 warning (0.01 sec)
就说明重设密码成功了。可以正常使用MySQL了~~

注:这里是authentication_string 不是 password!!下面会有说到!



【解决问题】


但是我比较坑爹的是,在提示我输入密码的时候,直接回车竟然提示我:

Win7环境下安装MySQL5.7.13(Zip版)过程记录

就是说我的密码不对,但是我明明还没有登录过啊。没办法,解决一下吧,我就上网好一顿找啊,我就当我忘了密码怎么重设密码呗。看到了好的文章,直接贴过来做一点修改:

(From: http://www.cnblogs.com/linuxnotes/archive/2013/03/09/2951101.html)


1、 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:
net stop mysql
打开第一个cmd1窗口,切换到mysql的bin目录,运行命令:
mysqld --defaults-file="E:\MySQL\MySQL Server 5.7\my-default.ini" --console --skip-grant-tables

注释:
该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。 此时已经开启了mysql服务了!

这个窗口保留 不关闭。

2、打开第二个cmd2窗口,连接mysql:

输入命令:
mysql -u root -p

出现:
Enter password:

在这里直接回车,不用输入密码。
然后就就会出现登录成功的信息,

使用命令:
show databases;

使用命令切换到mysql数据库:
use mysql;

使用命令更改root密码:
UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';

注:这里为什么不是password而是authentication_string呢?因为在5.7.*以后这个字段给换了。。坑人不偿命啊!


刷新权限:
FLUSH PRIVILEGES;

然后退出,重新登录:
quit

重新登录: 可以关掉之前的cmd1 窗口了。然后用net start mysql 启动服务
mysql -u root -p

出现输入密码提示,输入新的密码即可登录:
Enter password: ***********


到这里问题解决完毕,但是这里登录进去之后可能会遇到【解决问题】前面提到的那个问题:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
参照上面的内容设置一下就好了。~