共计 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 '新密码';
完美解决
正文完