我刚刚在Ubuntu上安装了MySQL,根用户无法登录:)
如何找回或找到我的密码?使用空白作为密码不起作用。
发布于 2011-04-16 07:08:06
您可以使用--skip-grant-tables
运行服务器,然后以超级用户身份(或使用sudo)在不使用密码的情况下登录,从而重置超级用户密码:
# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p
现在,您应该能够以root用户身份使用新密码登录。
也可以在重置密码的用户的/home/$USER/.mysql_history
或/root/.mysql_history
中找到重置密码的查询,但上面的方法始终有效。
注意:在MySQL 5.7之前,该列称为password
而不是authentication_string
。将上面的行替换为
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
发布于 2013-05-01 13:51:41
我意识到这是一个旧的线程,但我想我应该用我的结果更新它。
亚历克斯,听起来你是通过元软件包‘MySQL -mysql’来安装服务器的。这将通过引用安装最新的包(在我的示例中为mysql-server-5.5)。我和您一样,在设置时没有像我预期的那样提示输入MySQL密码。我想有两个答案:
解决方案#1:按全名安装MySQL:
$ sudo apt-get install mysql-server-5.5
或
解决方案#2:重新配置包...
$ sudo dpkg-reconfigure mysql-server-5.5
您必须指定完整的程序包名称。使用元包'mysql-server‘并没有得到我想要的结果。我希望这对某些人有帮助:)
发布于 2018-06-11 19:24:11
sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_PASSWORD_HERE';
FLUSH PRIVILEGES;
mysql -u root -p # and it works
https://stackoverflow.com/questions/5683154
复制相似问题