mysql 在忘记密码不能登录情况下的设置方法

现在终于被我找到了解决方法,如下(请先测试方法三,谢谢!):
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>


方法三:
在系统中找到my.cnf 文件

对改文件进行编辑并添加一行内容:

skip-grant-tables

重新启动数据库服务

service mysqld restart

进入数据库

mysql -uroot -p

两次回车后进入数据库中;

输入如下命令更改密码:

update user set password=PASSWORD('xxxxxx') where user='root';

flush privileges;

更改密码之后,再次编辑my.cnf文件  把之前添加的一行(skip-grant-tables)注释掉

重启mysql服务

完成!

posted @ 2018-03-29 13:03  星空下的夜  阅读(156)  评论(0编辑  收藏  举报