/ 中存储网

Windows系统修改MySQL密码的方法

2014-07-13 16:27:49 来源:中存储网
mysql 忘记密码,想修改。
搜索了很多方法都大同小异。可是好像还是没能成功。
打开命令行窗口,停止mysql服务:
Net stop mysql
启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe
执行:mysqld-nt --skip-grant-tables 当前窗口将会停止。
另外打开一个命令行窗口,执行mysql 如果提示没有这个命令,先进入MYSQL的安装位置下BIN目录再运行mysql
>use mysql ---------**在这一步,继续不下去了。提示错误ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'**---------
>update user set password=password("new_password") where user="root";
>flush privileges;
>exit
用Ctrl+Alt+Del,找到mysqld-nt的进程杀掉它,在重新启动mysql-nt服务,就可以用新密码登录了
在use mysql的时候的错误,该怎么解决呢?整整一天时间都在折腾这个。在线等。。
问题补充:就是忘记原始密码才需要改的呢。。
如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。
1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
kill `cat /mysql-data-directory/hostname.pid`
你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。
2. 使用--skip-grant-tables 参数来启动 mysqld。
3. 使用mysql -h hostname mysql命令登录到mysqld server ,用grant命令改变口令。你也可以这样做:mysqladmin -h hostname -u user password new password。
其实也可以用use mysql; update user set password =password(yourpass) where user=root 来做到。
4. 载入权限表: `mysqladmin -h hostname flush-privileges ,或者使用 SQL 命令`FLUSH PRIVILEGES。
当然,在这里,你也可以重启mysqld。