MySQL忘记密码

在windows下:
打开命令行窗口,停止mysql服务: Net stop mysql
找到 my.ini
在[mysqld]的段中加上一句:skip-grant-tables
执行mysql
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
>exit

用Ctrl+Alt+Del,找到mysqld-nt的进程杀掉它,把修改的改回来,在重新启动mysql-nt服务,就可以用新密码登录了

在linux下:
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL 。

FREEBSD
首先停止当前mysql
/usr/local/etc/rc.d/mysql-server.sh stop

然后用skip-grant-table的方式启动mysql
执行/usr/local/bin/safe_mysqld --user=mysql --datadir=/var/db/mysql --skip-grant-table &


这个时候登陆mysql将处于无验证的状态了
后续操作同Linux平台上的操作方法。



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: 1812
发表评论
你没有权限发表评论!