mysql5.7.19zip免安装以及修改root密码
2017-09-23 本文已影响60人
lanzry
下载
官方下载地址,可能你需要注册账号
下载64位版本,如下图:

解压到安装目录,比如我是E:\IDE\mysql-5.7.19-winx64
配置环境变量
新建环境变量MYSQL_HOME,值为安装目录E:\IDE\mysql-5.7.19-winx64
同时,添加安装目录下bin至path,以下两值皆可:
E:\IDE\mysql-5.7.19-winx64\bin;
%MYSQL_HOME%\bin;
命令行安装
嗯?难道不是免安装?

配置好了环境变量,就可以直接在命令行使用mysqld工具了
mysqld install
mysqld remove // 对应卸载


权限不足,另管理员权限开一个cmd

然后开启mysql服务,记得也是管理员权限
net start mysql
net stop mysql // 对应关闭

那么happy地
mysql -u root -p
// 回车


初始密码到底是什么!
修改默认密码
参考windows下修改Mysql5.7.11初始密码的图文教程
先关闭服务
net stop mysql

用安全模式打开
mysqld --skip-grant-tables

光标一直在闪,不要管,另开一个cmd
mysql -u root -p // 登录
// 密码为空,直接回车

登录成功!
use mysql; // 不要忘记分号
查看一下user表,密码都是个啥
select * from user;

可能先前的版本密码的抬头是password,5.7.19是 authentication_string。这密码太长,我不能接受
update user set authentication_string=password("123456") where user="root";
// 下面是老版本的,具体要看表里面的字段
update user set password=password("123456") where user="root";

更新为自己记得住的密码,再刷新一下
flush privileges;

为什么要flush呢?这是什么意思?我顺便百度了一下,下面这个解释原理讲的很清楚:
flush privileges; 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。
这样就能用新密码登录mysql了!
nice,结束!
using ALTER USER
还有bug:

参考mac mysql error You must reset your password using ALTER USER statement before executing this statement.执行如下3行命令即可
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

也不用重启命令行
