忘记了Mysql的root用户的密码,怎么办?

一.安全修改方法

Windows用户:

如果你此时登录到Windows使用的不是Adminstrator用户,先“注销”后,切换到Adminstrator用户,再进行下面的步骤!

1.如果Mysql正在运行:

安装版:则进行cmd命令行,输入net stop mysql命令 或在"控制面板"-->"管理工具"-->"服务"-->mysql-->停掉它。

           如果在停止的过程中发生错误,可按"ctrl+alt+delete"打开"任务管理器",查看是否有mysq的进程,有结束掉它。

免安装版:打开任务管理器”,直接结束掉Mysql的服务进程。

2.创建用于初始密码的文本文件,文件名随意(在这我使用mysql-init.txt

         SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword'); 

3.进行cmd命令行,执行如下命令:

  安装版mysqld-nt.exe --defaults-file="C:/Program Files/MySQL/MySQL Server 5.0/my.ini" --init-file=e:/mysql-init.txt

  解压缩版mysqld-nt.exe --init-file=C:/mysql-init.txt

 

  :以上的目录需根据自己安装目录进行相应的调整

这种方式启动的,它并不会启动Mysql服务,而是作为一个进程在运行。这时如果要结束,需打开“任务管理器”结束mysql进程,而net stop mysql是不起作用的!

4.到此,你可以刚设置的新密码正常登录了!(注意:要先启动服务或执行mysqld-nt

 

LinuxUnix用户:

UnixLinux根用户身份进行登录。找到包含服务器进程ID.pid文件。一般情况下,文件名是以mysqld或系统的主机名开始。

通常在mysql的数据库所在的目录中。常见位置是/var/lib/mysql//var/run/mysqld//usr/local/mysql/data/。通常在mysql的数据库所在的目录中。

 

1.杀掉正在运行的mysql进程:

kill `cat /mysql-data-directory/host_name.pid`   //其中目录需根据实际情况进行替换

 

2.创建文本文件,写入如下命令:(这使用~/mysql-init)

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newPassword');

 

3.用特殊的“--init-file=~/mysql-init”选项重启MySQL服务器:

mysqld_safe --init-file=~/mysql-init &

 

注:如是4.1以前老版本需使用old_password()函数进行密码更改。

 

<!--=========================Jack.Hao===========================-->

 

二.另一种修改方法

同样需用Adminstratorroot用户登录系统。这种方式在任何平台上通用,就是通过mysql客户端重新设置root密码(但该方法不安全,所以不推荐)。

 

Window系统:

1.       停掉正在运行的mysql(方法可参照上边)

2.       使用 “--skip-grant-tables --user=root”参数重新启动mysql

压缩版mysqld-nt.exe --skip-grant-tables --user

安装版mysqld-nt.exe --defaults-file="C:/Program Files/MySQL/MySQL Server 5.0/my.ini"--skip-grant-tables --user

       上述命令正确执行后,root密码为空

3.       登录mysql

Mysql –u root

4.       mysql客户端发出下述语句,修改为你想要的密码:

UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';

FLUSH  PRIVILEGES;         //刷新权限表

 

Linux系统

1.       停掉正在运行的Mysql

2.       使用 “--skip-grant-tables --user=root”参数重新启动mysql

/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &

3.       net start登录mysql

Mysql –u root

4.       mysql客户端发出下述语句:

UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';

FLUSH  PRIVILEGES;         //刷新权限表

 

 

结束语

1.免安装版的是没有my.ini文件的,“服务管理器”更没有mysql的服务,要启动直接双击运行mysqd-nt即可。

2.可执行telnet localhost 3306 来查看mysqld是否已正常启动。

3.net start mysql  可启动mysql服务  net stop mysql 可停止mysql服务,执行这两个命令与在mysql服务上直接操作作用相同。

4.如果是安装版,在我们启动服务的时候它会自动为我们执行mysqld-nt命令,可使用“服务管理器”中查看mysql服务的“属性”看到原因。

 

转载请说明出处…….

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值