1、先关闭mysql服务
service mysql stop 停止
2、修改配置文件,添加免密码登陆
vim /etc/my.cnf
在[mysqld]下面添加一行skip-grant-tables
增加:skip-grant-tables
3、重新启动mysql服务,并从新连接到数据库,记得不用输入密码了(上面已配置跳过认证的步骤)
service mysql start
执行命令:mysql -u root -p (不要输入密码,直接敲回车)
4、开始执行修改的指令
选择数据库mysql : use mysql;
将密码置空 update user set authentication_string = ‘’ where user = ‘root’;
退出 quit
5、再次编辑配置文件my.cnf 去除免密码登陆
修改mysql配置,删掉或注释掉步骤2中添加的语句 skip-grant-tables
6、重启服务
service mysql restart
7、修改密码,执行如下命令:
mysql -u root -p //提示输入密码时直接敲回车,刚刚已经将密码置空了
开始修改密码:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;
如果出现以下错误:
1820 (HY000): You must reset your password using ALTER USER statement before executing this statement
则:执行 user user() identified by "新密码;
flush privileges;
quit;
mysql -uroot -p
输入新密码:即可成功登录;
标签:修改,mysql8,skip,密码,user,mysql,root From: https://www.cnblogs.com/zlshtml/p/16794490.html