当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL根用户root密码忘记后的处理方法

MYSQL
mysql "too many connections" 错误 之 mysql解决方法
MySQL: mysql is not running but lock exists 的解决方法
使用mysql中遇到的几个问题
MySQL一个索引最多有多少个列?真实的测试例子
MySQL里Create Index 能否创建主键 Primary Key
MySQL 创建索引(Create Index)的方法和语法结构及例子
MYSQL 优化常用方法
linux mysql 找回密码
mysql 动态执行存储过程语句
MySQL 查找价格最高的图书经销商的几种SQL语句
MySQL 客户端不输入用户名和密码直接连接数据库的2个方法
mysql 查询表中平均分最低的班级
mysql 左连接、右连接和内连接
Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)
Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)
Mysql 插入中文及中文查询 (修改+调试)
mysql 数据表中查找重复记录
MySql .frm数据库文件导入的问题
解决hibernate+mysql写入数据库乱码
mySQL UNION运算符的默认规则研究

MYSQL 中的 MySQL根用户root密码忘记后的处理方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 97 ::
收藏到网摘: n/a

MySQL根用户root密码忘记后的处理方法:

Windows平台下的步骤

1.以管理员的身份登录到windows系统

2.用windows服务管理工具或任务管理器来停止MySQL服务

3.建立一个单行的文本文件,保存为c:\mysql\pwdhf.txt,

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

4.打开一个控制台窗口,得到DOS命令提示符

5.假设你的MySQL主目录是C:/mysql/bin,

则运行c:\mysql\bin\mysqld-nt --init-file=c:\mysql\pwdhf.txt,

如果是用安装精灵安装的MySQL数据库服务器,则需要通过服务管理工具来做改动,

需要找到并添加默认设置文件,

然后运行mysqld-nt --defaults-file="path\my.ini" --init-file=c:\mysql\pwdhf.txt

6.停止MySQL数据库服务,然后再重新以正常模式启动MYSQL

7.可以正常登录到服务器.

Unix环境下的步骤

1.以root或启动mysqld进程的用户身份登录到系统

2.找到并定位包含Mysql服务进程号的文件.pid,该文件一般可能

/var/lib/mysql/,/var/run/mysqld/,/usr/local/mysql/data/中,

文件名一般是“机器名.pid”的格式。在壳下使用命令

kill 'cat /mysql-data-directory//host-name.pid'来结束mysql服务进程

3.建立一个单行文本文件,可以任意命名,假设是mysql-init,

保存在用户主目录~下就可以,

文件内容是SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

4.重新带选项启动mysql,具体命令为mysqld_safe --init-file=~/mysql-init &,

正常后应该删除mysql-init文件

5.可以用新密码连接数据库。

通用的解决办法:

-使用客户端交互工具mysql来设置,步骤如下:

1.停止mysql服务,并重新以--skip-grand-table --user=root

选项来启动mysql服务(windows下可以省略--user=root选项)

2.用客户端交互工具mysql连接服务器,shell>mysql -u root

3.在客户端交互工具mysql中执行下列语句:

mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')

-> WHERE User='root';

mysql> FLUSH PRIVILEGES;

4.可以用newpwd作为密码来登录服务器