MySql教程

mysql重置密码

本文主要是介绍mysql重置密码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一,[root@localhost ~]# mysql -uroot -p

Enter password: 

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

一般这个错误是由密码错误引起,解决的办法自然就是重置密码。

假设使用的是root账户。

解决办法:

1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:

#vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:

/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)

在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程

注:skip-grant-tables这个是配置参数,可以放在mysql配置文件里面修改,然后把这个配置参数放到/etc/my.cnf文件里面。

2.接下来我们需要重启MySQL:service sqld restart (或者/etc/init.d/mysqld restart)

3,输入mysql就可以进入数据库,用sql来修改root的密码

mysql> use mysql;

以前的版本我们改:

mysql> update user set password=password("你的新密码") where user="root";

但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码

mysql>update user set authentication_string=password('123456') where user='root';

mysql> flush privileges;

mysql> quit

到这里初始化root账户就已经重置成新的密码了。

注:这个新密码是一个临时密码,操作数据库的时候需要再重新设置一个密码:alter user user() identified by "root";

5.编辑my.cnf,去掉刚才添加的内容skip-grant-tables,然后重启MySQL。

输入:# mysql -uroot -p

二,mysql执行任何命令,都提示:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

直接在mysql中执行

alter user user() identified by "root";



这篇关于mysql重置密码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!