我的踩坑之旅
- 1、安装Mysql,
- 2、mysql扯拐,报错:ERROR1698(28000):Access denied for user root@localhost
- 3、修改密码:
- 4、问题解决!!!!!!!!!!!!!!!!
我的版本号::Ubuntu 18.04 MySQL 5.7.25
- 前言:写一下我艰辛的MySQL安装之路,踩坑达人来了。只有亲历了这么多的艰辛,才知道最后成功的喜悦!必须记载一下
——重置步骤:重置密码第一步需要先进入mysql,第二步输入命令重置密码,第三步退出重启服务
1、安装Mysql,
因为我是在Ubuntu安装mysql,前面安装什么的就不赘述了,在我另一篇博客里有详细命令和步骤,感兴趣的小伙伴可以看一下>Ubuntu安装Mysql,Nginx,redis<
2、mysql扯拐,报错:ERROR1698(28000):Access denied for user root@localhost
- 这个1698卡了我一万年:
原因:是在安装配置mysql的时候没有配置密码。这就需要我们重置密码。但重置密码就需要先进入mysql,这里推荐两种方法: - 方法一: 在配置文件 [mysqld] 项中添加语句
skip-grant-tables
,跳过密码验证,直接进入mysql。
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
- 保存退出,重启mysql服务。
service mysql restart //重启使配置生效
mysql -u root -p //进入mysql,回车不用输入密码,直接回车
- 进入mysql
方法一也可能用不了,重启服务的时候可能出现以下错误,如果不行那我们就尝试一下第二种方法吧。
- 方法二: 使用默认账号登录,注:这个用户只有Debian或Ubuntu服务器才有。
- 进入/etc/mysql/目录,并用root权限打开debian.cnf文件
cd /etc/mysql // 进入mysql子目录
sudo vim debian.cnf //查看默认账号密码
- 使用这个文件中的用户名和密码进入mysql
mysql -u debian-sys-maint -p
- 然后输入文件中的password值,即可进入mysql。
3、修改密码:
- 经历这么多坎坷,我们终于进入mysql了,终于可以修改密码了!是这样么?先讲方法再讲坑吧。
进入以下界面说明你已经成功了三分之一了 - 依次输入以下语句对密码进行修改:(注:MySQL中每条语句结束需加上分号,不然默认在继续输入,不会执行)
use mysql; //选择数据库
show fields from user; //查看配置信息
- 注:show命令需要安装插件才能使用。
- 上面的字段对应的就是我们的密码:如果是一样的,接下来我们就来修改密码(修改密码为123456)。(关于这儿其实我还有话要说,最后再说吧)
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges; //刷新重置
quit //退出
如果以上的每一步你都没有报错,顺利执行,那你大概可能比较幸运,应该修改成功了
重启服务,然后使用新密码登录,做最后的验证。成败在此一举。
service mysql restart
mysql -u root -p // 输入密码,登陆成功
- 显示以下界面,那么恭喜你修改成功了。
- 如果还是不幸:ERROR1698(28000):Access denied for user root@localhost熟悉的1698,那么这里并不是你的终点。反正我是走到了这里,那我们从头再来把:
用你之前成功的方法再次进入mysql :
use mysql;
select user,plugin from user;
如果显示和我的一样,说明root的密码默认不是mysql的常规密码,我们使用常规命令修改了也没用,我们只需修改即可,如果你也走到这儿,那么我们可能都是厄难毒体。踩坑达人。
update user set authentication_string=password("ln122920"),plugin='mysql_native_password' where user='root';
再次查询:
select user,plugin from user;
结果如下:
然后再回到步骤3,进行密码修改。然后就成功了。(哭)这个问题卡了我一天,几乎网上搜集了所有相关博客资料,一把辛酸泪!
4、问题解决!!!!!!!!!!!!!!!!
最后还要说的就是:如果你遇到这个(星星),检查语法无误,试用网上所有修改语句无效,始终报这个错的话,我建议你卸载重装mysql 。这里推荐一个卸载的博客教程。本人亲测好用。卸载无残留。
- 原因我推测是版本或者内部包损坏问题。
当然如果你尝试了以上方法都没用的话,我也建议你卸载重装mysql。一般正常安装不会出这些鸡毛问题的。我也不知道我是为什么会遇到这么多坑。进入mysql不能修改,语法错误,服务启动不了…
参考结合两位大佬的博客:感谢:
一步一坑。所有方法本人亲测有效,现在啥东西版本更新都很快,不一定都适用,仅提供一定的思路。若有错误,望指正。谢谢!