Mysql 丢失 root 密码

Mysql 丢失 root 密码

我遇到了一个奇怪的问题,我的 mysql 自动丢失/重置 root 密码。我的意思是它将密码重置为无。这个月已经发生过两次了。我担心这可能是一个安全问题,因为数据是开放的,只等着有人尝试不输入密码!

以下是版本:

mysql --version

mysql  Ver 14.14 Distrib 5.1.56, for redhat-linux-gnu (i386) using readline 5.1

任何帮助,将不胜感激。

更新:

从 mysql.user 中选择用户、主机、密码的输出;密码重置后的样子

| root    | localhost                                     |

| root    | 127.0.0.1                                    |

|         | localhost          |                                           |
| admin   | localhost          | ################################# | (I have removed the actual output with #)

因此,除另一个名为“admin”的用户外,所有密码均为空白

答案1

这个答案与发生此行为的 Ruby on Rails 框架有关

  1. 使用 root 用户和密码登录 mysql
  2. 使用 mysql “rails new projectname
    -d mysql”引导新的 rails 项目
  3. 不要修改 config/database.yml - 服务器的默认凭据为名称:root,密码为空
  4. rake db:create 提示出现 - 要求输入 root 密码,然后当您提供 root 密码时

答案是在第 68 行的 GRANT 命令中这里

基本上它使用与您当前的 database.yml 匹配的凭据执行 GRANT 命令

答案2

1)如果可以,请启用 SQL 日志记录。

log = /var/log/mysql/mysql.log

这将允许您跟踪密码的更新时间,并从那里将其与其他日志中的其他活动关联起来。

2) 您是否正在运行管理进程(例如 Plesk)或类似进程?您可能需要检查它是否默认重置登录。

3) 您是唯一有权访问服务器的人吗?如果不是,您可能需要验证没有其他人可以访问数据库,或者至少没有 SQL 数据库的 root 密码。

相关内容