MySQL的root密码如何找回?

2024年 1月 10日 52.1k 0

如果忘了MySQL的root密码,有很多的方法可以进行补救,曾经写过这篇《MySQL忘了账号密码,除了跑路,还能补救么?》,徐老师的这篇文章《忘记了MySQL的root密码该怎么办?》同样值得借鉴。

(1)通用方法(安全性略低),适用于任何平台。

  1. 停止MySQL服务器。

  2. 重启MySQL服务器使用“ --skip-grant-tables ”选项,使用该选项启动MySQL服务器将允许任何用户不使用密码和所有权限进行连接,并禁用诸如“ALTER USER”和“SET password”之类的帐户管理语句(存在安全风险)。

  3. 启动“mysql”客户端(无需密码)

  4. 使用“FLUSH PRIVILEGES;”重新加载授权表,加载后可以执行账户管理语句

  5. 执行“ALTER USER”语句更改root用户的密码

      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

    • 重新启动MySQL服务器(取消--skip-grant-tables选项)

    (2)Windows上的操作方法

    1. 使用Windows的管理员登陆

    2. 停止MySQL服务器,如果MySQL以window服务启动,可以在开始-》控制面板-》管理工具-》服务里面找到MySQL的服务,并将其停止。

    3. 创建一个文本文件,里面记录下面的内容

        ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

      • 保存该文本文件,例如,“C:mysql-init.txt”

      • 开启window的命令行,开始-》运行-》cmd

      • 使用系统变量“init_file ”启动MySQL服务器

          C:> cd "C:Program FilesMySQLMySQL Server 8.0bin"
          C:> mysqld --init-file=C:\mysql-init.txt

        • 服务器将启动,并将root用户的密码设置为文本文件中的新密码

        • 成功启动后,删除“C:mysql-init.txt”文件

        (3)类Unix系统的操作方法

        1. 使用运行MySQL服务器的用户登录操作系统,例如,mysql或者root

        2. 停止MySQL服务器,可以通过使用kill命令(不是kill -9)正常停止mysqld进程。“.pid ”文件包含mysqld的进程信息,通常可以在“/var/lib/mysql/”、 “/var/run/mysqld/”,和 “/usr/local/mysql/data/”中找到,例如,

            $> kill `cat mysql-data-directory/host_name.pid`

          • 创建一个包含以下内容的文本文件,

              ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

            • 文件保存为“/home/me/mysql-init”

            • 使用系统变量“--init-file”并将变量值指定为保存的文本文件,启动MySQL服务器

                $> mysqld --init-file=/home/me/mysql-init &

              • 成功启动MySQL服务器,删除文本文件“/home/me/mysql-init”。

              当然,如果能管理好这些的账号,可能会更好。

              如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发pyq,

              近期更新的文章:《从Oracle大佬的成长轨迹中学习对我们有所帮助的》《MySQL中关于EXPLAIN的一些新玩法》《MySQL的EXPLAIN功能》《MySQL JDBC连接池最高效的连接检测语句是什么?》
              《errorstack的level最高是多少?》
              近期的热文:《推荐一篇Oracle RAC Cache Fusion的经典论文》
              《"红警"游戏开源代码带给我们的震撼》
              文章分类和索引:《公众号1300篇文章分类和索引》

              相关文章

              Oracle如何使用授予和撤销权限的语法和示例
              Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
              下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
              社区版oceanbase安装
              Oracle 导出CSV工具-sqluldr2
              ETL数据集成丨快速将MySQL数据迁移至Doris数据库

              发布评论