#1.停止mysql数据库
/etc/init.d/mysqld stop #2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking & #3.使用root登录mysql数据库
mysql -u root mysql #4.更新root密码
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
#最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root'; #5.刷新权限
mysql> FLUSH PRIVILEGES; #6.退出mysql
mysql> quit #7.重启mysql
/etc/init.d/mysqld restart #8.使用root用户重新登录mysql
mysql -uroot -p
Enter password: <输入新设的密码newpassword>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以安全模式启动mysql,可以直接以root身份登录,然后重设密码。下面是具体步骤
1.停掉在运行的MySQL服务:
service mysqld stop
2.安全模式启动mysql:
sudo mysqld_safe --skip-grant-tables --skip-networking &
3.直接用root登录,无需密码:
mysql -uroot -p
4.重设密码:
update usersetauthentication_string=password('password') where user='root'; >> mysql5.6及以下 update user set authentication_string=password('password') where user='root'; >>mysql5.7+
5.刷新并重启
flush privileges;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以root用户登录,命令:mysql -uroot -p 回车 输入密码;
mysql>use mysql;
mysql>UPDATE user SET password=PASSWORD('输入新密码') WHERE user='root';
mysql>FLUSH PRIVILEGES;