前言
由于平时有许多自动处理数据的脚本需要执行,再加上这些脚本之间存在一定的依赖性,为了完美的解决脚本之间的执行,azkaban便登上了历史的舞台。
azkaban的优点、简介我就不多说了,各位老铁们可以搜索一下,由于azkaban依赖于MySQL,我这里想要说一下,在安装mysql之后,使用root密码登录mysql所报的错:Access denied for user’root’@'localhost’的解决方法。(mysql以前我也安装过很多次了,但是报这个错,然我着实有点吃惊。)
1、参考网上
报错了,按照这个报错,网上一搜索,解决方案很多,我第一个参考的是这篇博文
https://blog.csdn.net/qq_32786873/article/details/79225039?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.control
但是,按照这种做法之后,我依然还是会报错,在下不禁怀疑是不是我哪里操作错了,于是我又仔仔细细的操作了一把,但是依然报错,我差点人就没了,为啥会出现这种问题。于是在线开启了独自探索之路。
2、瞎碰
既然改了之后还是不行,那么我就看一下我mysql的用户表里面究竟是什么一个情况
select * from mysql.user \G;
我一看,root用户的plugin:auth_socket,其他用的plugin都是:mysql_native_password
似乎猫腻就处在这里,于是在下又继续开始搜索,原来是两种插件的验证方式不同。
参考以下博文
https://www.cnblogs.com/bneglect/p/12930406.html
3、解决方法
改变root用户密码,权限的同时,使用mysql_native_password密码验证方式,就大功告成了。
UPDATE mysql.user SET authentication_string=PASSWORD('123456'),plugin='mysql_native_password' where USER='root';