当前位置: 首页 > 图文教程 > 数据库 > MYSQL > linux mysql忘记密码的多种解决或Access denied for user ''root''@''localhost''

MYSQL
MySQL 实用命令
Mysql 默认字符集设置方法(免安装版)
MySQL 数据库对服务器端光标的限制
MySQL UPDATE更新语句精解
Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考
mysql 读写分离(基础篇)
mysql 读写分离(实战篇)
processlist命令 查看mysql 线程
MySQL 数据类型 大全
MySQL 密码设置
MYSQL代码 定期备份Mysql数据库
汇总整理MYSQL相关操作命令
MySQL 数据库两台主机同步实战(linux)
MSSQL 添加字段说明
MySQL 查询某个字段不重复的所有记录
mysql 设置默认的时间值
mysqlreport显示Com_中change_db占用比例高的问题的解决方法
解决mysql不能插入中文Incorrect string value
mysql从执行.sql文件时处理\n换行的问题
mysql 主从服务器的简单配置

MYSQL 中的 linux mysql忘记密码的多种解决或Access denied for user ''root''@''localhost''


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

linux mysql忘记密码的多种解决方法。 我的系统是ubuntu6.06,最近新装好的mysql在进入mysql工具时,总是有错误提示:
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
使用网上介绍的方法修改root用户的密码:
# mysqladmin -uroot -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
现在终于被我找到了解决方法,如下(请先测试方法三,谢谢!):
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法三:
这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢!!
# mysql -uroot -p
Enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>
至此,困惑多时的问题解决了!