Ben*_*nns 135
您可以通过运行服务器来重置root密码,--skip-grant-tables并通过以root身份(或使用sudo)运行以下命令而无需密码登录:
# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
Run Code Online (Sandbox Code Playgroud)
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
Run Code Online (Sandbox Code Playgroud)
# service mysql stop
# service mysql start
$ mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
现在,您应该可以使用新密码以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';
Run Code Online (Sandbox Code Playgroud)
小智 19
我意识到这是一个旧线程,但我想我会用我的结果更新它.
Alex,听起来你通过元包'mysql-server'安装了MySQL服务器.这将通过引用安装最新的软件包(在我的例子中,mysql-server-5.5).我和你一样,在设置时没有按照我的预期提示输入MySQL密码.我想有两个答案:
解决方案#1:用它的全名安装MySQL:
$ sudo apt-get install mysql-server-5.5
Run Code Online (Sandbox Code Playgroud)
要么
解决方案#2:重新配置包...
$ sudo dpkg-reconfigure mysql-server-5.5
Run Code Online (Sandbox Code Playgroud)
您必须具体指定完整的包名称.使用元包'mysql-server'对我来说没有预期的结果.我希望这可以帮助别人 :)
参考:https://help.ubuntu.com/12.04/serverguide/mysql.html
Ale*_*yuv 12
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
Run Code Online (Sandbox Code Playgroud)
MySQL的5.5在Ubuntu 14.04所需略有不同的命令,推荐这里.简而言之:
sudo /etc/init.d/mysql stop
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
mysql -u root
Run Code Online (Sandbox Code Playgroud)
然后从MySQL提示符
FLUSH PRIVILEGES;
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
和所引用的源提供的另一种方法为好.
| 归档时间: |
|
| 查看次数: |
147386 次 |
| 最近记录: |