1.ERROR 1698 (28000): Access denied for user 'root'@'localhost'
一般出现这种情况多数是安装新版本mysql,root密码是随机的,也不是空密码,所以要通过查看随机密码进入,再进行修改原来的密码。
解决方案
1.查看内置用户的随机密码
下载安装MySQL的过程中,系统会自动给我们创建一个用户,我们借助如下指令便可以查看该用户信息:
sudo cat /etc/mysql/debian.cnf
返回:
2.进入MySQL
然后使用debian-sys-maint
和R4ZiuvNnNykAuP9N
(看password
那一行,这个是随机生成的,我的和你的不一样)进入MySQL:
mysql -u debian-sys-maint -p
在显示Enter password:
之后输入password
那一行后面的密码,此时密码不会显示(copy下来就对了
3.修改root账户密码
先查看一下原来的用户表:
输出:
可以看到root账户的密码格式为auth_socket
。
现在来修改一下root账户的密码格式:
输出:
修改好后要刷新权限
然后新增密码:
alter user 'root'@'localhost' identified by '密码';
再刷新一次
退出
4.重启服务
现在即可用mysql -u root -p
,然后使用刚刚设置的密码登陆了