重置mysql密码

时间:2021-08-05 06:20:28

以下解决方法在此url中:https://*.com/questions/21944936/error-1045-28000-access-denied-for-user-rootlocalhost-using-password-y

 

当使用 mysql -uroot -p 时,提示下面错误:

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)

 

那么我们可以重置密码:


# /etc/init.d/mysql stop # 先停止mysql # mysqld_safe --skip-grant-tables & # 注意, & 意思是在背景运行,如果不加& ,那么可以再打开一个终端运行下面的命令 # mysql -u root # 不加 -p 可以直接进入到mysql数据库,再使用下面的命令修改密码

Setup new MySQL root user password

mysql> use mysql; mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User=‘root‘; mysql> flush privileges; mysql> quit;

Stop MySQL Server:

# /etc/init.d/mysql stop

Start MySQL server and test it:

# mysql -u root -p


---------------------------------------------------------------------------------
如果上面的方法不行,那么使用下面的方法:


#service mysql stop or # /etc/init.d/mysql stop # 停止mysql服务
# mysqld_safe --skip-grant-tables --skip-networking # 执行该命令之后,然后再打开一个终端运行下面的命令

# mysql -u root # 不加 -p
mysql> UPDATE mysql.user SET Password=PASSWORD(‘new-root-password‘) WHERE User=‘root‘; # 修改root的密码
 # service mysql start or /etc/init.d/mysql start # 启动mysql服务