侧边栏壁纸
  • 累计撰写 116 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

MySQL:ERROR 1698 (28000)

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

问题:登录root用户显示权限错误,

ubuntu@ubuntu:~$ mysql -u root -p
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

原因:是因为auth_socket的验证类型引起的。

解决:

1、通过sudo进入mysql,ubuntu默认sudo不需要密码就可以进

sudo mysql

2、进入mysql库

mysql> use mysql;

3、改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

然后就可以了。

当然这个是只允许本地访问的,如何想要远程访问root,则:

UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
flush privileges;
exit;

编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

或

sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf

把bind-address = 127.0.0.1注释,即在bind-address = 127.0.0.1前面加#

#bind-address = 127.0.0.1

重启

service mysql restart
博主关闭了所有页面的评论