今天装完mysql,没有设置root密码,也没有记住初始密码,直接关了窗口,导致现在连接mysql一直连接不上,显示如下:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) denied for user 'root'@'localhost' (using password: NO)
内容在网上查了差很多,最后终于解决了,具体如下。
我们既然记不住初始密码或者设置的密码,那我们就直接强制重新设置即可。
第一步,打开系统偏好设置,关闭mysql服务
关闭服务后,我们打开终端并输入下面的命令
cd /usr/local/mysql/bin/
这个时候我们进入mysql的bin目录下
第二步,我们在终端中继续输入下面命令
sudo su
这个是登录管理员权限,所以这个时候会提示我们输入管理员密码(电脑密码),输入回撤即可。
完成下面这个后,我们继续输入下面命令
./mysqld_safe --skip-grant-tables &
执行完以后,mysql会自动重启(偏好设置中mysql的状态会变成running)
接着我们在终端继续输入
./mysql
这个时候终端会打印一些信息,我们不用管,打印完成后我们接着输入下面的命令即可。
FLUSH PRIVILEGES;
注意⚠️:这里分号不能少。
完成这步后,还差最为重要的一步,就是重新设置mysql的root密码,我们继续在终端输入以下命令
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');
注意⚠️:这里分号也不能少。
执行完后,我们的mysql密码也就设置完成了,可以成功登录了。