编辑mysql的配置文件/etc/mysql/my.cnf,在[mysqld]段下加入一行“skip-grant-tables”。

Ubuntu下忘记MySQL root密码解决方法

重启mysql服务

yxj @yxj:~$ sudo service mysql restart 

用空密码进入mysql管理命令行,切换到mysql库。

yxj @yxj:~$ mysql 
Welcome to the MySQL monitor.  Commands end with ; or \g. 
 
mysql> use mysql 
Database changed 

执行update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost';把密码重置为123456。退出数据库管理。

mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost';
Query OK, 0 rows affected (0.00 sec)   
Rows matched: 4  Changed: 0  Warnings: 0   

mysql>update user set plugin="mysql_native_password"; 

mysql>flush privileges;
mysql>quit;

回到sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf,把刚才加入的那一行“skip-grant-tables”注释或删除掉。

再次重启mysql服务sudo service mysql restart,使用新的密码登陆,修改成功。

yxj @yxj:~$ mysql -uroot -pnew_pass 
Welcome to the MySQL monitor.  Commands end with ; or \g. 
mysql> 


mysql>mysql -u root -p 再次登录

Logo

更多推荐