【问题标题】:How do I change the password of the root user in MySQL?如何更改 MySQL 中的 root 用户的密码?
【发布时间】:2023-03-22 20:17:01
【问题描述】:

我早就忘记了我的一个盒子上的 root 用户的密码。有没有一种方法可以在无需登录实例的情况下更改它,或者我必须重新安装?

【问题讨论】:

标签: mysql


【解决方案1】:

第 1 步

停止数据库:

shell> /etc/init.d/mysql stop

第 2 步

重启数据库

  • 无密码验证
  • 未连接到网络

只能通过它的 sock 文件 '/var/lib/mysql/mysql.sock' 访问数据库。

shell> mysqld --user=mysql --pid-file=/var/lib/mysql/mysqld.pid \
       --socket=/var/lib/mysql/mysql.sock --datadir=/var/lib/mysql \
       --skip-grant-tables --skip-networking  &

第 3 步

连接数据库并修改密码:

shell> mysql --database mysql --socket=/var/lib/mysql/mysql.sock

如果您愿意,请显示所有用户:

mysql> select User, password from user;

设置新密码:

mysql> update user set password=password('NEW PASS') WHERE User='USERNAME';

离开数据库连接:

mysql> exit

第 4 步

“正常”重启数据库服务器。

shell> kill `cat /var/lib/mysql/mysqld.pid`
shell> /etc/init.d/mysql start

【讨论】:

    【解决方案2】:

    快速谷歌得到了这个答案。在 root shell 类型中:

    mysqladmin -u root password <password>
    

    【讨论】:

    • 虽然可以在 Google 上找到答案,但在这里找到答案也很好。它有助于 Stack Overflow 成为更全面的编程答案存储库,因此我将修改这个问题。
    • 这不是一个非常安全的解决方案,因为密码现在已成为您历史记录的一部分。
    【解决方案3】:

    如果您运行的是 Ubuntu 服务器(可能还有 Debian?),您可以轻松重置。

    如果你在 12.04:

    sudo dpkg-reconfigure mysql-server-5.5
    

    如果您在 10.04:

    sudo dpkg-reconfigure mysql-server-5.1
    

    如果你不确定安装了哪个mysql-server版本,你可以试试:

    dpkg --get-selections | grep mysql-server
    

    查看更多信息:

    https://help.ubuntu.com/12.04/serverguide/mysql.html https://help.ubuntu.com/10.04/serverguide/mysql.html

    【讨论】:

      猜你喜欢
      • 2012-02-06
      • 2015-12-14
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 2016-02-04
      • 2015-08-28
      相关资源
      最近更新 更多