mysql忘记root密码的解决办法

mysql5.7

mysql安装目录为/usr/local/mysql

通过mysqld启动mysql服务。

/usr/local/mysql/bin/mysqld --skip-grant-tables --user=root

[root@localhost bin]# /usr/local/mysql/bin/mysql -uroot -p 回车进入

mysql> update user set authentication_string=password('123456') where user='root';

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> exit;

回头再杀死之前mysqld启动的进程。正常启动mysql。

mysql8的方式略有些不同

先在my.cnf添加skip-grant-tables

刷新权限

flush privileges

修改密码就不能与mysql5.7一样操作,因为mysql8不能使用password函数进密码加密操作。通过

alter user 'root'@'localhost' identified by '1234567'

mysql忘记root密码的解决办法

假如想修改远程登录root,那么就执行alter user 'root'@'%' identified by '1234567'