搜索

首页  >  问答  >  正文

如何重置或更改MySQL的root密码:MySQL密码重置指南

<p>如何在Ubuntu服务器上更改MySQL的root密码和用户名?在进行任何更改之前,我需要停止mysql服务吗?</p> <p>我还安装了phpmyadmin,phpmyadmin会自动更新吗?</p>
P粉458913655P粉458913655497 天前549

全部回复(2)我来回复

  • P粉306523969

    P粉3065239692023-08-21 00:54:32

    对我有效的唯一方法是在这里描述的方法(我正在运行ubuntu 14.04)。为了清晰起见,这是我遵循的步骤:

    1. sudo vim /etc/mysql/my.cnf
    2. 在末尾添加以下行:

      [mysqld]
      
      skip-grant-tables
    3. sudo service mysql restart

    4. mysql -u root

    5. use mysql

    6. select * from mysql.user where user = 'root'; - 查看顶部以确定密码列是称为password还是authentication_string

    7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - 使用上面正确的密码列

    8. FLUSH PRIVILEGES;

    9. exit

    10. sudo vim /etc/mysql/my.cnf

    11. 如果要保持安全标准,请删除步骤2中添加的行

    12. sudo service mysql restart

    参考:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

    回复
    0
  • P粉135799949

    P粉1357999492023-08-21 00:52:22

    在Ubuntu Linux上设置/更改/重置MySQL的root密码。在终端中输入以下命令。

    1. 停止MySQL服务器:sudo /etc/init.d/mysql stop
    2. (在某些情况下,如果/var/run/mysqld不存在,您需要首先创建它:sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
    3. 启动mysqld配置:sudo mysqld --skip-grant-tables &
    4. 以root身份登录MySQL:mysql -u root mysql
    5. 用新密码替换YOURNEWPASSWORD

    对于MySQL < 8.0

    UPDATE mysql.user SET Password = PASSWORD('YOURNEWPASSWORD') WHERE User = 'root';
    FLUSH PRIVILEGES;

    如果您的MySQL使用新的身份验证插件,则需要在刷新权限之前使用:update user set plugin="mysql_native_password" where User='root';

    注意:这种方法不被视为最安全的重置密码方式,但是它有效。

    对于MySQL >= 8.0

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
    FLUSH PRIVILEGES;
    

    最后一步:

    如@lambart的评论中所述,您可能需要杀掉您启动的临时无密码mysql进程,即sudo killall -9 mysqld,然后启动正常的守护进程:sudo service mysql start

    参考资料:

    1. 在Ubuntu Linux上设置/更改/重置MySQL的root密码
    2. 如何重置Root密码(v5.6)
    3. 如何重置Root密码(v8.0)

    回复
    0
  • 取消回复