mysql忘记密码如何修改

 

今天忘了mysql的密码了,又不舍得里面的数据,于是上网查找,结果找到点资料,但因为里面老是说用mysqld-nt,害我老在我这个版本中找不到,结果发现原来这个mysqld.exe就是所说mysqld-nt.exe一个功能的,估计是在不同版本中不同的名字而已,所以下方的资料如果碰到mysqld-nt,你用mysqld就OKl了,当然前提是你又mysqld这个文件啦

 

Windows: 
1.用系统管理员登陆系统。 
2.停止MySQL的服务。 
3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:mysql,进入C:mysqlbin 
4.跳过权限检查启动MySQL, 
c:mysqlbin>mysqld-nt --skip-grant-tables 
5.重新打开一个窗口,进入c:mysqlbin目录,设置root的新密码 
c:mysqlbin>mysqladmin -u root flush-privileges password "newpassword" 
c:mysqlbin>mysqladmin -u root -p shutdown 
将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。 
6.停止MySQL Server,用正常模式启动Mysql 
7.你可以用新的密码链接到Mysql了。

 

 

或者在第4步后进入mysql:

即>mysql

然后进入mysql本身数据库:use mysql

然后这个时候就看到user表,重置user表中root密码即可

 

如:UPDATE user SET password=PASSWORD("123456") WHERE user='root';

 

Unix&Linux: 
1.用root或者运行mysqld的用户登录系统; 
2.利用kill命令结束掉mysqld的进程; 
3.使用--skip-grant-tables参数启动MySQL Server 
shell>mysqld_safe --skip-grant-tables & 
4.为root@localhost设置新密码 
shell>mysqladmin -u root flush-privileges password "newpassword"5.重启MySQL Server


GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY '123'

linux下的解决方法:
关闭mysql
然后,safe_mysqld --skip-grant-tables
启动mysql。

mysql -u root
mysql> use mysql
mysql> UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';
mysql> FLUSH PRIVILEGES;

WINDOWS下试用成功!

 

你可能感兴趣的:(mysql,windows,数据库,server,kill,user)