欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''

程序员文章站 2022-04-25 16:49:10
前言 最近学习linux,然后将win换成了ubuntu。之前安装的mysql也不能用了,现在将在ubuntu18.0.4上安装mysql并将碰到的问题记录如下: 下载并安装mys...

前言

最近学习linux,然后将win换成了ubuntu。之前安装的mysql也不能用了,现在将在ubuntu18.0.4上安装mysql并将碰到的问题记录如下:

下载并安装mysql

执行语句sudo apt-get install mysql-server

ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''

因为我这里已经安装好了的,所以会出现这样的。可以通过mysql --version查看安装版本。

登录mysql

执行语句 mysql -u root -p

其-u是user -p是端口。登录时出现error 1698 (28000): access denied for user ‘root'@‘localhost'。这应该时我们之前安装时候,密码忘记了或者不记得初始化密码造成的:

ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''

下面我们讲讲如何解决这个问题:

1.输入指令sudo vim /etc/mysql/debian.cnf 我们会看到如下信息:

ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''

其中debian-sys-maint账户是安装mysql时系统自动生成的mysql用户,对应的密码就是该用户的密码。

2.登录账户debian-sys-maint:

mysql -u debian-sys-maint -p 可以登录mysql:

ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''

3.修改root帐号密码:

输入指令 use mysql;

然后输入指令:

update user set authentication_string=password(‘你要设置的密码') where user=‘root';这就是设置root账户的密码。

然后输入指令quit,退出mysql,执行重启mysql指令sudo service mysql restart;

然后登录mysql,当执行 mysql -u root -p,发现还是报错了:error 1524 (hy000): plugin ‘msyql_native_password' is not loaded

ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''

这时候密码其实已经修改成功了的,是plugin root 的字段是auth_socket,需要修改过来。

4.修改plugin:

继续使用debian-sys-maint帐号登录;

执行指令:

use mysql

执行指令:

select user,plugin from user;

接着执行指令:

update user set authentication_string =password(‘你要设置的密码'),plugin=‘mysql_native_password' where user=‘root';

最后退出并重启mysql即可:

ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''

总结

以上所述是小编给大家介绍的ubuntu18.0.4安装mysql并解决error 1698 (28000): access denied for user ,希望对大家有所帮助