共计 771 个字符,预计需要花费 2 分钟才能阅读完成。
最近安装了 mysql 后发现要使用 sudo mysql -u root - p 才能登录数据库 
 导致我不能使用 dbeaver 登录本地数据库!
使用命令行报错
⇒  mysql -u root -p 
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'网上找了很久发现一个教程解决了,分享下给大家!
如果不记得密码可以编辑加上 skip-grant-tables
#sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir        = /usr
datadir        = /var/lib/mysql
tmpdir        = /tmp
lc-messages-dir    = /usr/share/mysql
skip-external-locking
 skip-grant-tables
*
保存后重启
sudo service msyql restart
先选择 mysql 数据库
USE mysql;
给 root 用户设置新密码
update mysql.user set authentication_string=password('新密码') where user='root' and Host ='localhost';
设置好后退出出删掉配置里面的 skip-grant-tables
然后重启 mysql
sudo service msyql restart
如果还是不行的话 
 再次登录数据库
sudo mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
完美解决
微信扫描下方的二维码阅读本文

正文完
                                                
                    



