今天用命令登陆mysql的时候发现密码忘记了,输入错误的密码之后提示:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这是一个悲伤的故事,怎么办呢,只能修改密码了,但是又登陆不上,没关系,首先我们先用免密的方式登陆到mysql服务器。
1.停止mysql
输入命令:
sudo /usr/local/mysql/support-files/mysql.server stop
或者打开 系统偏好设 -> MySql -> 选择MySql 点击Stop MySql Server。
2.获取超级管理员权限
sudo su
然后输入mac系统密码。
3.使用安全模式启动MySql,跳过授权表,这样登陆mysql不需要验证密码了。
mysqld_safe --skip-grant-tables &
4.再开个新的终端界面,输入登陆mysql命令:
mysql -u root
5.加载权限表
flush privileges;
6.修改密码
alter user 'root'@'localhost' identified by '123456';
7.重新加载权限表
flush privileges;
这次再输入登陆命令,不输入密码将会登陆失败
mysql -u root
重新输入登陆命令:
mysql -u root -p
输入密码:123456
登陆成功!
注意:本次操作采用的mysql服务器版本是8.0.12,亲测有效!