请参阅这个问题(重置忘记的 phpmyadmin 密码)我正在尝试重置已安装的 mysql 的密码。但是运行第三个命令时mysql -u root mysql
我会收到错误
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: N
O).
我搜索了很多,但找不到解决方案。目前虚拟机正在 Azure 云服务中运行
答案1
要重置 mysqld 密码,请按照以下说明操作:
使用以下命令停止 mysql 守护进程:
sudo service mysql stop
使用此命令的 --skip-grant-tables 选项启动 mysqld 守护进程
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
因为此时您没有检查用户权限,所以最安全的做法是禁用网络。在 Dapper 中,/usr/bin/mysqld...
没有奏效。但是,mysqld --skip-grant-tables
确实奏效了。
使用此命令启动 mysql 客户端进程
mysql -u root
从 mysql 提示符执行此命令可以更改任何密码
FLUSH PRIVILEGES;
然后重置/更新你的密码
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
如果您有一个可以从任何地方连接的 mysql root 帐户,您还应该执行以下操作:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
如果上述方法不起作用,请检查这一点。
检查你的版本mysql-server
;
apt-cache policy mysql-server
现在您可以知道 mysql-server-X.X
您的系统中已安装的内容。
使用以下命令开始重新配置:
sudo dpkg-reconfigure mysql-server-X.X
这将提示您输入新密码并确认重新配置。
现在您可以登录:
mysql -u root -p