MySQL Root密码丢失解决方法总结

1. 检查my.cnf,看看有没有密码......靠这也算一条啊

2. 如果能够重启,
首先使用–skip-grant-tables参数重启,然后改密码,再去掉–skip-grant-tables参数重启, 注意–skip-grant-tables的安全问题http://code.openark.org/blog/mysql/dangers-of-skip-grant-tables, 根据火丁笔记http://huoding.com/2011/06/12/85,还需要加上--skip-networking

$ mysqld_safe --skip-grant-tables --skip-networking &
接着使用SQL重置密码后,记得去掉skip-networking,以正常方式重启MySQL服务:

$ /etc/init.d/mysqld restart
上面的方法需要重启两次服务,实际上还能更优雅一点,重启一次即可: 首先需要把用到的SQL语句保存到一个文本文件里(/path/to/init/file):

UPDATE mysql.user SET Password=PASSWORD(‘...‘) WHERE User=‘...‘ AND Host= ‘...‘;
FLUSH PRIVILEGES;
接着使用init-file参数启动MySQL服务,

$ /etc/init.d/mysql stop
$ mysqld_safe --init-file=/path/to/init/file &
此时,密码就已经重置了,最后别忘了删除文件内容,免得泄露密码。

3.on linux / unix ONLY

$ cd data/mysql
$ cp -rp user.MYD bck_user.MYD_`date +%Y%m%d`cp -rp user.MYD /tmp/user.MYD
$ vi /tmp/user.MYD #(edit the hashed passwords next to root*)cp -rp /tmp/user.MYD user.MYD
$ sudo kill -HUP `pidof mysqld`
4.using an init-file

4.这里还有个第四点 using an init-file, which leads to just one restart of the database instead of two. It also avoids the security issue involved with using skip-grant-tables.

5.如果你在MySQL里边,那么可选择的办法就太多了
参考 <http://www.cnblogs.com/rootq/archive/2009/05/13/1456335.html>

时间: 2024-11-07 15:52:07

MySQL Root密码丢失解决方法总结的相关文章

windows下忘记mysql root密码的解决方法(转)

windows下忘记mysql root密码的解决方法(转) 分类: 数据库 mysql5.5安装目录为 e:\mysql5.5 问题:开发机器上的mysql root 密码忘记鸟! 通过一番搜索,解决问题步骤下: 1.dos命令行窗口 进入e:\mysql5.5\bin ,停止mysql 服务 e:\mysql5.5\bin>net stop mysql 注意:看看那任务管理器中是否有mysqld.exe进程,如有,kill them all. 2. 以不检查权限的方式启动mysql e:\m

忘记mysql root密码的解决方法

一. MySQL密码的恢复方法一 有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复 1. 停止mysqld: /etc/init.d/mysql stop (您可能有其它的方法,总之停止mysqld的运行就可以了) 2. 用以下命令启动MySQL,以不检查权限的方式启动: mysqld --skip-grant-tables & 或 mysqld_safe --user=mysql --skip-gr

Centos下忘记mysql的root密码的解决方法

Centos下忘记mysql的root密码的解决方法 一:(停掉正在运行的mysql) [[email protected] ~]# service mysql stop 二:使用 “--skip-grant-tables”参数重新启动mysql [[email protected] ~]# mysqld_safe --skip-grant-tables & [1] 23810 Starting mysqld daemon with databases from /var/lib/mysql 三

使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失(转)

B.5.3.2 How to Reset the Root Password If you have never assigned a root password for MySQL, the server does not require a password at all for connecting as root. However, this is insecure. For instructions on assigning passwords, see Section 2.18.4,

指定mysql的数据库保存路径及忘记root密码的解决方法

在mysql安装目录下的data目录中发现有几个系统目录,把my.ini文件中的datadir值设为此目录. 更改后的主要配置为: [mysqld]basedir=C:/databases/mysqldatadir=D:/databases/mysql/data basedir: 为你数据库程序放置目录 datadir :为你数据库数据目录 重新安装服务,启动服务之后,登录成功. 注:如果想把datadir指定到其他目录,则需要把安装目录下的data目录下的文件与目录拷贝到你所指定的目录下. 总

AIX系统root密码丢失解决办法

AIX系统root密码丢失解决   在对AIX操作系统的日常管理中,经常忘记或丢失root密码,这时候就需要重置root密码.AIX系统丢失root密码,可以使用系统安装光盘或备份rootvg的磁带两种方法重置 root密码 说明:如果用系统安装光盘修改,光盘版本号要保持和AIX系统一致 1.1     AIX安装光盘重置root密码,步骤如下: 1.1.1     将AIX第一张安装光盘放入光驱中,开机启动,如果系统默认从光驱引导,跳到3.1.11,否则按以下步骤从SMS中设置光驱引导 1.1

Ubuntu 14.04中root 密码忘记解决方法[转载+17.04亲测可用]

Ubuntu 14.04中root 密码忘记解决方法 Ubuntu 14.04中root 密码忘记解决方法 方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo passwd root命令就可以直接更改root密码. 有关sudo su的区别: 1.共同点:都是root用户的权限: 2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境:sudo是完全取得root的权限和root的工

Freebsd系统忘记root密码的解决方法

Enter fullpathname of shell or RETURN for /bin/sh:再按 Enter 进入单用户模式,所示 #挂载档案系统,输入# fsck -p    \\文件档案检查# mount -u /      \\挂载# mount -t ufs -a      \\挂载所有文件档案更改密码# passwd        \\更改密码New password:Retype new password:passwd: updating the database...pas

【转】mysql忘记root密码的解决方法

本文收集于本人的笔记本,由于找不到原文出处.在此省略,如哪位知道可以联系我加上. 方法一:在windows下:1.打开命令行(DOS)窗口,停止mysql服务: net stop mysql 2.在DOS下面进入mysql的安装路径下的 bin目录,如 D:\mysql\bin 3. 输入并执行命令: mysqld-nt --skip-grant-tables (此命令执行后该窗口就停住了) 4.另外打开一个命令行窗口,执行mysql >use mysql >update user set p