MySQL:ERROR 1698 (28000)
mysql
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
mysql> use mysql;
3、改密码
mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
然后就可以了。
当然这个是只允许本地访问的,如何想要远程访问root,则:
mysql
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
最近更新:10/11/2024, 4:52:59 AM
上一篇:MySQL:ERROR 1819 (HY000)|下一篇:MySQL8修改密码