我已经很久没有记得我的一个盒子上的root用户密码了。有没有办法可以在不登录实例的情况下更改密码,或者我必须重新安装?
我已经很久没有记得我的一个盒子上的root用户密码了。有没有办法可以在不登录实例的情况下更改密码,或者我必须重新安装?
步骤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
快速搜索谷歌得到了这个答案。在根shell中输入:
mysqladmin -u root password <password>
如果您正在运行Ubuntu服务器(可能也适用于Debian),您可以轻松重置。
如果您使用的是12.04版本:
sudo dpkg-reconfigure mysql-server-5.5
如果您使用的是10.04版本:
sudo dpkg-reconfigure mysql-server-5.1
dpkg --get-selections | grep mysql-server
更多信息请参见:
https://help.ubuntu.com/12.04/serverguide/mysql.html https://help.ubuntu.com/10.04/serverguide/mysql.html