环境:fedora-server 29
MySQL版本:8
由于MySQL8相比其他的MySQL版本变化太大,所以重置密码的方法有很大的不同。
- 在/etc/my.cnf中添加 skip-grant-tables 跳过mysql登陆密码认证
- 重启MySQL服务 service mysqld restart
- 输入 mysql -u root 进入MySQL
- 将密码设置为空
UPDATE mysql.user SET authentication_string="" WHERE user='root' and host='localhost';
- 退出MySQL并在/etc/my.cnf注释掉第1步所添加的字段并重启MySQL服务
- 输入 mysql -u root -p 执行后不输入密码直接回车进入
- 修改密码
ALTER user 'root'@'localhost' IDENTIFIED BY '你的密码';//密码必须含有大写字符、数字、特殊字符,不然可能会报错
- 退出mysql再输入 mysql -u root -p 执行后输入刚才修改的密码即可进入
来源:oschina
链接:https://my.oschina.net/u/4362113/blog/4107268