mysql出现ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES/NO)
原因我在这边就不多赘述,主要理一下解决方式;
1、首先stop你的mysql服务:
2、打开终端做如下操作,开启权限:
$ cd /usr/local/mysql/bin
$ sudo su
3、再输入如下命令:
./mysqld_safe --skip-grant-tables &
4、利用command+T
再开启一个终端服务,进入mysql:
mysql -u -root -p
5、修改root用户密码:
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE user='root'
TIP: mysql从5.7后,把password
改为authentication_string
update user set authentication_string=password(‘YOUR_PASSWORD’) where user=’root‘
如果以上两句都没法修改,还有一个不需要考虑版本问题的语句:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD';
6、重新加载权限表,退出mysql:
FLUSH PRIVILEGES;
exit;
7、启动MySQL服务:
sudo /usr/local/MySQL/support-files/mysql.server start
TIP:举一反三一哈:
停止MySQL服务
sudo /usr/local/mysql/support-files/mysql.server stop
重启MySQL服务
sudo /usr/local/mysql/support-files/mysql.server restart
8、再次连接,大功告成!
备注:如果连接的时候,错误解决了,却出现如下错误。
此时只需要再编辑连接
,勾选使用套接字文件
即可。