编辑mysql 配置文件
vim /etc/my.cnf
#在文件里添加
skip-grant-tables
重启mysql
service msyql restart
登录mysql ,因为已经跳过了密码验证,所以不用输入密码直接回车就好了
mysql -uroot -p
MySQL5.7和之前的用户修改密码方式(三种方式):
mysql -uroot -e "Set password=password(‘123’);"
mysql -uroot -p123.com -e "use mysql;update user set authentication_string=password('456') where user='root';
update mysql.user set authentication_string=password("123") where user='root';
以上三种方法在MySQL8.0以后版本中将不能使用,如果使用了将会导致在正确修改密码是报如下错误:
所以我们先要把密码置空
//选择数据库
use mysql;
//将密码置空
update user set authentication_string = '' where user = 'root';
//退出
quit;
去除免密码登陆
#删掉步骤1的语句
skip-grant-tables
#重启服务
service mysqld restart
修改密码
mysql -u root -p //提示输入密码时直接敲回车,刚刚已经将密码置空了
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;
exit;
密码重置成功