两种修改MYSQL的ROOT密码方法:修正一下:我在Windows下的实际操作如下
1.关闭正在运行的MySQL。
2.打开DOS窗口,转到mysql\\bin目录。
3.输入mysqld-nt –skip-grant-tables
回车。如果没有出现提示信息,那就对了。
4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\\bin目录。
5.输入mysql回车,如果成功,将出现MySQL提示符 >
6. 连接权限数据库
>use mysql;
(>是本来就有的提示符,别忘了最后的分号)
6.改密码:
> update user set password=password(\”chinaccnetddb\”) where user=\”root\”; (别忘了最后的分号)
7.刷新权限(必须的步骤)
>flush privileges;
8.退出
> \\q
9.注销系统,再进入,开MySQL,使用用户名root和刚才设置的新密码123456登陆。
据说可以用直接修改user表文件的方法:
关闭MySQL,Windows下打开Mysql\\data\\mysql,有三个文件user.frm,user.MYD,user.MYI找个知道密码的MySQL,替换相应的这三个文件,如果user表结构没改过,一般也没人去改,替换user.MYD就可以了。
也可以直接编辑user.MYD,找个十六进制编辑器,UltraEdit就有这个功能。关闭MySQL,打开user.MYD。将用户名root后面的八个字符改为565491d704013245,新密码就是123456。或者将它们对应的十六进制数字,(左边那里,一个字符对应两个数字),改为 00 02 02 02 02 02 02 02,这就是空密码,在编辑器右边看到的都是星号*,看起来很象小数点。重开MySQL,输入root和你的新密码。
Linux或UNIX
1. 用root或者以mysqld的用户登录系统
2. 利用kill命令结束掉mysqld的进程
3. 使用 –skip-grant-tables 参数启动MySQL, 假设MySql安装目录在 /usr/local/mysql/ , 进入shell.
4. 执行 /usr/local/mysql/mysqld_safe –skip-grant-tables & 启动mysql守护进程
6. 执行 /usr/local/mysql/mysqladmin -u root flush-privileges password \”newpassword\” 为root用户重新设置密码
7. 重新启动mysqld
第6步也可以直接修改mysql用户表:
mysql> use mysql;
mysql> update user set password=password(\”newpassword\”) where user=\”root\”;
mysql> flush privileges;
===========================================================================================================
mysql修改根用户密码
忘记ROOT密码时
1、编辑mysql配置文件:
windows环境中:%mysql_installdir%\\my.ini //一般在MYSQL安装目录下有my.ini即MYSQL的配置文件。
linux环境中:/etc/my.cnf
在[mysqld]配置段添加如下一行:
skip-grant-tables
保存退出编辑。
2、然后重启mysql服务
windows环境中:
net stop mysql
net start mysql
linux环境中:
/etc/init.d/mysqld restart
3、设置新的ROOT密码
然后再在命令行下执行:
mysql -uroot -p mysql
直接回车无需密码即可进入数据库了。
现在我们执行如下语句把root密码更新为 7758521:
update user set password=PASSWORD(\”7758521\”) where user=’root’;
quit 退出MYSQL。
4、还原配置文件并重启服务
然后修改mysql配置文件把刚才添加的那一行删除。
再次重起MYSQL服务,密码修改完毕。