方法一
-
编辑mysqld.cnf文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
-
在文件中的skip-external-locking一行的下面添加一行
skip-grant-tables
-
重启MySQL服务
sudo service mysql restart
-
终端输入mysql进入MySQL
mysql
-
输入USE mysql切换至mysql数据库
use mysql
把root用户的密码修改为
UPDATE mysql.user SET authentication_string=password('root') WHERE User='root' AND Host ='localhost'
-
修改字段plugin
UPDATE user SET plugin="mysql_native_password" flush privileges ]
-
退出
quit 注释掉/etc/mysql/mysql.conf.d/mysqld.cnf文件中添加的一行
方法二
利用mysql自带的用户debian-sys-maint进行重置密码,只有Debian或Ubuntu服务器才有,存在于/etc/mysql/debian.cnf文件中
-
打开/etc/mysql/目录下的debian.cnf文件,里面包括用户名和密码
sudo vim /etc/mysql/debian.cnf
-
使用文件中提供的用户名和密码进入mysql
mysql -u debian-sys-maint -p
-
选择mysql数据库
use mysql
-
更新root用户的密码为root
update user set authentication_string=password('root') where user='root';