如何在MySQL中更改root用户的密码?

3

我已经很久没有记得我的一个盒子上的root用户密码了。有没有办法可以在不登录实例的情况下更改密码,或者我必须重新安装?


这可能会有所帮助:“恢复MySQL root密码”。 - jfs
3个回答

4

步骤1

停止数据库:

shell> /etc/init.d/mysql stop

第二步

重新启动数据库

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

只能通过其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  &

第三步

连接数据库并更改密码:

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

步骤四

正常地重新启动数据库服务器。

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

4

快速搜索谷歌得到了这个答案。在根shell中输入:

mysqladmin -u root password <password>

1
虽然在谷歌上可以找到答案,但在这里提供答案是很好的。这有助于使Stack Overflow成为一个更全面的编程答案存储库,所以我会给这个问题点赞。 - Adam Pierce
这不是一个非常安全的解决方案,因为密码现在成为了您历史记录的一部分。 - user12345

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接