安装了mysql,但是不记得root密码了,如何重置?

活呆斌 21小时前  服务器  14

刚刚用 lnmp 一键安装包安装了mysql,现在要新建一个数据库,结果发现不记得mysql的root密码了,如何重置?

2 个回答
  • 野溜小子 21小时前
    2
    一、停止 MySQL 服务
    lnmp mysql stop
    如果上述命令无效:
    systemctl stop mysql
    # 或
    service mysql stop

    二、以跳过权限表的方式启动 MySQL
    创建一个临时目录用于 socket(可选,避免权限问题):
    mkdir -p /var/run/mysqld
    chown mysql:mysql /var/run/mysqld

    然后以安全模式(跳过授权表)启动 MySQL:
    mysqld_safe --skip-grant-tables --skip-networking &
    (--skip-networking 是为了安全,防止远程连接;只允许本地连接)

    三、登录 MySQL 并重置密码
    mysql -u root
    进入 MySQL 后,根据你的 MySQL 版本执行不同的命令:
    # 如果是 MySQL 5.7 及以上(包括 8.0)
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

    # 如果是 MySQL 5.6 或更早版本)
    FLUSH PRIVILEGES;
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');

    四、退出并正常重启 MySQL
    exit;
    然后杀死临时进程并正常启动:
    # 查找 mysqld_safe 和 mysqld 进程
    ps aux | grep mysql

    # 强制 kill(替换为实际 PID)
    pkill mysqld_safe
    pkill mysqld

    # 使用 LNMP 脚本正常启动
    lnmp mysql start

    五、验证新密码
    mysql -u root -p
    输入你刚设置的新密码,确认可以登录。
    1 回复引用 引用
  • 小何同志 21小时前
    3

    全过程如下:

    [root@VM-0-8-opencloudos HQW]# lnmp mysql stop

    +-------------------------------------------+

    |    Manager for LNMP, Written by Licess    |

    +-------------------------------------------+

    |              https://lnmp.org             |

    +-------------------------------------------+

    Shutting down MySQL. SUCCESS! 

    [root@VM-0-8-opencloudos HQW]# mkdir -p /var/run/mysqld

    [root@VM-0-8-opencloudos HQW]# chown mysql:mysql /var/run/mysqld

    [root@VM-0-8-opencloudos HQW]# mysqld_safe --skip-grant-tables --skip-networking &

    [1] 864359

    [root@VM-0-8-opencloudos HQW]# 2026-02-05T01:32:11.428584Z mysqld_safe Logging to '/usr/local/mysql/var/VM-0-8-opencloudos.err'.

    2026-02-05T01:32:11.480721Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var

    mysql -u root

    Welcome to the MySQL monitor.  Commands end with ; or \g.

    Your MySQL connection id is 7

    Server version: 8.0.37 MySQL Community Server - GPL

    Copyright (c) 2000, 2024, Oracle and/or its affiliates.

    Oracle is a registered trademark of Oracle Corporation and/or its

    affiliates. Other names may be trademarks of their respective

    owners.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    mysql> FLUSH PRIVILEGES;

    Query OK, 0 rows affected (0.02 sec)

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

    Query OK, 0 rows affected (0.00 sec)

    mysql> exit

    Bye

    1 回复引用 引用
    • 探知网
      4
        立即登录 立即注册
返回
发新帖
相关主题:
  • 暂无相关主题