AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 489098
Accepted
stdcerr
stdcerr
Asked: 2014-06-28 18:05:33 +0800 CST2014-06-28 18:05:33 +0800 CST 2014-06-28 18:05:33 +0800 CST

无法重置mysql的root密码

  • 772

我需要重置本地 mysql 安装的 root 密码,但它不会让我这样做。我试过这个:

$ sudo /etc/init.d/mysql stop
 * Stopping MySQL database server mysqld                                                                                                              [ OK ] 
[1]-  Exit 1                  sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+  Exit 1                  sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.

reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+  Exit 1                  sudo mysqld --skip-grant-tables

我怎样才能重设密码? 编辑 1 我得到这个:

$ ps ax| grep mysql
16515 ?        Ssl    0:00 /usr/sbin/mysqld
16551 pts/23   S+     0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ?        Ssl    0:00 /usr/sbin/mysqld
16715 pts/23   S+     0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

看起来一个进程在我杀死它后会自动重新启动 mysql ...

password
  • 6 6 个回答
  • 78260 Views

6 个回答

  • Voted
  1. Best Answer
    precise
    2014-06-28T21:31:20+08:002014-06-28T21:31:20+08:00

    首先请尝试使用

    mysql -u root -p
    

    并在提示符下输入您的密码(如果您还记得的话)以 sql-root 用户身份登录(注意开关-p用于密码)。

    如果你真的必须为 mysql 重置你的 root 密码,这里有一个简单的方法——用dpkg-reconfigure.

    重置 mySQL root 密码的简单步骤:

    1. 检查你的版本mysql-server;

      apt-cache policy mysql-server
      

      并查看在其他信息中显示已安装版本的行。例如,对于我的安装,它是:

      Installed: 5.5.37-0ubuntu0.12.04.1
      

      (由此我知道我已经mysql-server-5.5在我的系统中安装了。)

    2. 开始重新配置:

      sudo dpkg-reconfigure mysql-server-*.*
      

      wheremysql-server-*.*应该替换为您拥有的版本。(对我来说是mysql-server-5.5)。这将停止数据库守护进程。然后会出现一个提示,您必须在其中输入新密码并确认重新配置。

      快照1

      守护进程将在重新配置完成后自动启动。

    3. 然后您可以登录:

      mysql -u root -p
      

      并开始您的数据库管理任务。

    参考:

    1. https://help.ubuntu.com/community/MysqlPasswordReset [如页面所示很快将被清理。]

    2. 与您的特定版本相关的Ubuntu 服务器指南。

    • 44
  2. Anvesh
    2015-09-08T21:33:52+08:002015-09-08T21:33:52+08:00

    参考来自这个博客:

    第 1 步:停止 MySQL 服务。

    sudo service mysql stop
    

    第 2 步:杀死所有正在运行的 mysqld。

    sudo killall -9 mysqld
    

    第 3 步:以安全模式启动 mysqld。

    sudo mysqld_safe --skip-grant-tables --skip-networking &
    

    第四步:启动mysql客户端

    mysql -u root
    

    第五步:登录成功后,请执行此命令修改任意密码。

    FLUSH PRIVILEGES;
    

    第 6 步:您可以更新 mysql root 密码。

    UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
    

    对于 mysql > 5.7 使用这个而不是上面的:

    UPDATE mysql.user SET authentication_string=PASSWORD('newpwd') WHERE User='root';
    

    第7步:请执行此命令。

    FLUSH PRIVILEGES;
    

    第八步:退出mysql控制台

    exit
    

    第九步:杀掉mysqld_safe并启动mysql

    sudo killall mysqld_safe && sudo service mysql start
    
    • 22
  3. Pierre-Damien
    2016-11-23T03:05:37+08:002016-11-23T03:05:37+08:00

    在 Ubuntu 16.04 和 下mysql-server-5.7,正确答案是 olafure 的最后一条评论,dpkg-reconfigure mysql-server-5.7不再有效。

    sudo service mysql stop
    sudo killall mysqld
    sudo mysqld_safe --skip-grant-tables --skip-networking &
    mysql -u root
    

    现在在mysql控制台>mysql

    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('newpass') WHERE user='root';
    FLUSH PRIVILEGES;
    \q
    

    重启好 mysql进程

    sudo killall mysqld
    sudo service mysql start
    

    检查您的新密码

    mysql -u root -p
    Enter password: newpass
    mysql>
    
    • 9
  4. Barun
    2017-01-21T11:41:17+08:002017-01-21T11:41:17+08:00

    从MySQL 5.7开始,在初始安装期间,如果您将密码留空,那么对于该用户,身份验证将基于auth_socket插件。

    更改密码的正确方法是:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
    

    https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/

    • 3
  5. Wtower
    2017-01-20T13:40:06+08:002017-01-20T13:40:06+08:00

    其余答案似乎对我没有用。这是我的解决方案:

    sudo service mysql stop
    sudo mysqld_safe &
    sudo mysql -u root
    

    在那里:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    FLUSH PRIVILEGES;
    QUIT;
    

    然后:

    sudo killall mysqld
    sudo service mysql start
    sudo mysql -u root -p
    
    • 1
  6. Elier
    2014-12-10T18:47:10+08:002014-12-10T18:47:10+08:00

    用这个创建一个文件:

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

    停止 mysql 服务器并运行:

    mysqld_safe --init-file=/home/me/mysql-init &
    

    在此处查看更多详细信息: http: //dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

    • 0

相关问题

  • 在登录屏幕上自动选择用户

  • 如何轻松加密文件?

  • 通过 SSH 禁用密码访问?

  • 如何更改确定有效用户密码的规则?[关闭]

  • 用户如何避免在启动时输入密码?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve