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

MYSQL
mysql 常用数据库语句 小练习
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
mysql 字符集的系统变量说明
MySQL 在触发器里中断记录的插入或更新?
将MySQL数据库移植为PostgreSQL
mysql 操作总结 INSERT和REPLACE
linux mysql忘记密码的多种解决或Access denied for user ''root''@''localhost''
运用mysqldump 工具时需要注意的问题
mysql 优化日记
MySQL 字符串函数大全
mysql 截取指定的两个字符串之间的内容
MySQL 备份还原数据库批处理
mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置
Mysql 数字类型转换函数
mysql 动态生成测试数据
mysql 显示SQL语句执行时间的代码
mysql 设置查询缓存
MYSQL explain 执行计划
MySQL 有输入输出参数的存储过程实例
巧用mysql提示符prompt清晰管理数据库的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 87 ::
收藏到网摘: 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作为密码来登录服务器