热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

解决MySQLroot用户密码重置时连接失败的问题

本文提供了解决在尝试重置MySQLroot用户密码时遇到连接失败问题的方法,包括停止MySQL服务、以安全模式启动MySQL、手动更新用户表中的密码等步骤。

当您尝试重置MySQL root用户的密码时,可能会遇到连接失败的错误。以下是详细的解决方案:

1. 尝试使用mysqladmin命令更改密码时出现登录失败的情况:

命令示例:
[[email protected] var]# mysqladmin -u root password '123456'
错误信息:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

2. 停止MySQL服务以进行后续操作:

命令示例:
[[email protected] var]# /etc/init.d/mysqld stop
输出信息:
Shutting down MySQL…. SUCCESS!

3. 以跳过权限表的方式启动MySQL服务,允许无密码访问:

命令示例:
[[email protected] var]# mysqld_safe --skip-grant-tables &
[[email protected] var]# 110407 17:39:28 mysqld_safe Logging to '/usr/local/mysql/var//mysql.chinascopefinanical.com.err'.
110407 17:39:29 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var/

4. 使用无密码方式登录到MySQL服务器:

命令示例:
[[email protected] var]# /usr/bin/mysql -uroot -p
注意:在提示输入密码时,直接按回车键即可继续。

5. 在MySQL命令行中手动更新root用户的密码:

命令示例:
mysql> use mysql;
mysql> update user set password=password('新密码') where user='root' and host='localhost';
mysql> flush privileges;
mysql> quit

6. 重启MySQL服务以应用更改:

命令示例:
[[email protected] var]# service mysqld restart
输出信息:
Shutting down MySQL.. SUCCESS!
Starting MySQL.. SUCCESS!

7. 针对其他可能遇到的错误情况,例如找不到socket文件或PID文件创建失败等,也提供了相应的解决方案:

7.1 如果遇到找不到socket文件的错误,可以在登录命令中指定正确的socket路径:

命令示例:
[[email protected] mysqld]# /usr/bin/mysql -uroot -p --socket=/opt/mysqldata/mysql.sock

7.2 如果遇到PID文件创建失败的错误(通常是由于磁盘空间不足导致),可以通过修改MySQL配置文件来改变PID文件的保存位置:

编辑/etc/init.d/mysqld文件,将PID文件的路径更改为磁盘空间足够的位置:

示例配置:
get_mysql_option mysqld_safe pid-file "/opt/mysqldata/mysqld.pid"

完成上述步骤后,再次尝试启动MySQL服务,问题应得到解决。


推荐阅读
author-avatar
看山不是山
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有