Ubuntu16.04下安装mariadb后登陆时出现ERROR 1698 (28000): Access denied for user 'root'@'localhost'的解决方法

通过以下命令安装了mariadb:

  sudo apt install mariadb-server mariadb-client

直接安装,安装过程没有提示要输入用户root的密码,安装成功

问题:

1.输入mysql -u root -p 报以下错误:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

解决方法一:

1. sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

在这个配置文件中的[mysqld]这一块中加入skip-grant-tables

保存退出:wq

2.重新启动mysql

  service mysql restart

3.mysql -u root -p 遇见输入密码的提示直接回车即可

4.修改密码

  use mysql;

  update user set authentication_string=password("123456") where user="root";

  flush privileges;

  quit;

5.到50-server.cnf文件中把刚开始加的skip-grant-tables这条语句给注释掉

解决方法二:

我打开mysql所给的权限不够

sudo mysql -u root -p 

密码就是sudo的密码

原文地址:https://www.cnblogs.com/ddbear/p/13555151.html