重置mysql密码

以下解决方法在此url中:https://stackoverflow.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服务

posted @ 2019-12-16 11:39  relax.1949  阅读(195)  评论(0编辑  收藏  举报