Mysql5.7.28安装笔记,自留避免踩坑

Mysql安装笔记

昨天安装了一个多小时的Mysql,发现网上的滥竽充数文章越来越多了。特别是密码更新,经常报:filed password not exist(就是没有password这个字段,大概这个意思)

安装步骤(亲测安装版,绿色版都可以用):首先:打开cmd
1、cd 到安装目录下的bin目录,如本人安装:cd C:\Program Files\MySQL\MySQL Server 5.7\bin
2、(安装版跳过这一步骤)在bin目录下执行:mysqld –install安装服务
3、(安装版跳过这一步骤)在bin目录下执行:mysqld --initialize-insecure。一般都会初始化成功,有一些报错:需要添加什么explicit_defaults_for_timestamp的,就这样:mysqld --initialize-insecure --user=mysql --explicit_defaults_for_timestamp(注意:绿色版这个步骤以后会出现一串随机密码,在最后几行,有password明显提示的,记下来,后面改密码需要。 或者,在启动服务之前就直接在my.ini文件,[mysqld]下添加:skip-grant-tables,直接不需要密码。 小白不懂的就跳过这里先)
4、net start mysql启动mysql服务。 安装版(假设跟本人一样的版本5.7.28)的命名通常都是:mysql57,那么这里启动就需要把mysql改成mysql57。(注意:修改密码需要)服务启动后,去windows服务中,找到Mysql:
Mysql5.7.28安装笔记,自留避免踩坑
5、选中右键=》属性:找到默认使用的my.ini文件(或者有些人直接在mysql安装目录下就自己设置了一个my.ini,没有的自己去找默认文件)
Mysql5.7.28安装笔记,自留避免踩坑
在文件中:[mysqld]下添加:skip-grant-tables
Mysql5.7.28安装笔记,自留避免踩坑
6、重启Mysql, net stop mysql57,net start mysql57
7、开始修改密码。在bin目录下执行:mysql -u root -p登录mysql,接着会提示:Enter password,直接回车。因为第5步设置了免密登录
8、接着分别执行以下三段:
use mysql;
update user set authentication_string=password(“123456”) where user=“root”;
flush privileges;
9、回到第5步,把之前添加的skip-grant-tables删掉。重启服务(重复第6步)就可以了

总结: 其中第8步加粗部分,经常踩坑,网上很多密码更新都是不对的,烦恼。 具体没去研究,估计是某个mysql版本后的用户管理表中password字段已经弃用,而是改成了authentication_string