如何重置或更改MySQL根密码?

如何在Ubuntu服务器中更改MySQL根密码和用户名? 在设置任何更改之前是否需要停止mysql服务?

我也有一个phpmyadmin设置,将phpmyadmin自动更新?

在Ubuntu Linux上设置/更改/重置MySQL根密码。 在terminal中input以下行。

  1. 停止MySQL服务器。

    sudo /etc/init.d/mysql stop

  2. 启动mysqldconfiguration。

    sudo mysqld --skip-grant-tables &

  3. 以root身份login到MySQL。

    mysql -u root mysql

  4. 用您的新密码replaceYOURNEWPASSWORD!

UPDATE mysql.user SET Password = PASSWORD('YOURNEWPASSWORD')WHERE User ='root'; FLUSH PRIVILEGES; 出口;

注意:此方法不被视为重置密码的最可靠的方法。 然而,它的工作。

参考文献:

  1. 在Ubuntu Linux上设置/更改/重置MySQL根密码
  2. 如何重置根密码

官方和简单的方法来重置Ubuntu的服务器上的根密码…

如果你在16.04:

 sudo dpkg-reconfigure mysql-server-5.5 

如果你在14.04:

 sudo dpkg-reconfigure mysql-server-5.5 

如果你在12.04:

 sudo dpkg-reconfigure mysql-server-5.5 

如果你在10.04:

 sudo dpkg-reconfigure mysql-server-5.1 

如果您不确定安装了哪个mysql服务器版本,您可以尝试:

 dpkg --get-selections | grep mysql-server 

更新了mysql-server-5.7的注释

请注意,如果您正在使用mysql-server-5.7,则无法使用上面显示的更简单的dpkg-reconfigure方法。

如果您知道密码,请login并运行以下命令:

 UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root'; FLUSH PRIVILEGES; 

或者,您可以使用以下内容:

 sudo mysql_secure_installation 

这将问你一系列有关保护你的安装的问题(强烈推荐),包括如果你想提供一个新的root密码。

如果您不知道root密码, 请参阅此过程中以Ubuntu为中心的写法 。

查看更多信息:

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html

我正在分享一步一步的最终解决scheme,在Linux Ubuntu中重置MySQL密码。

从博客引用(dbrnd.com)

第1步:停止MySQL服务。

 sudo stop mysql 

第2步:杀死所有正在运行的mysqld。

 sudo killall -9 mysqld 

第3步:在安全模式下启动mysqld。

 sudo mysqld_safe --skip-grant-tables --skip-networking & 

第4步:启动mysql客户端

 mysql -u root 

第五步:login成功后,执行该命令更改密码。

 FLUSH PRIVILEGES; 

第6步:您可以更新mysql root密码。

 UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root'; 

注意 :在MySQL 5.7中,列Password称为authentication_string

第七步:请执行这个命令。

 FLUSH PRIVILEGES; 

更改MySQL根密码。

这个方法将密码暴露给命令行历史logging,这些命令应该以root身份运行。

  1. 通过mysql命令行工具login:

     mysql -uroot -poldpassword 
  2. 运行这个命令:

     SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword'); 

要么

  1. 运行这个命令,为当前用户设置一个密码(在这种情况下为“root”):

    SET PASSWORD = PASSWORD('newpassword');

唯一的方法是我这里描述的(我正在运行的Ubuntu 14.04)。 为了清楚起见,这些是我遵循的步骤:

  1. sudo vim /etc/mysql/my.cnf
  2. 最后join以下几行:

     的[mysqld]
    
    跳过赠款表 
  3. sudo service mysql restart

  4. mysql -u root

  5. UPDATE mysql.user set password = PASSWORD('your_new_password') where user = 'root' and host = 'localhost';

或者在某些系统中,例如:5.7.18你可能想要做的

UPDATE mysql.user SET authentication_string = PASSWORD('password'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;

供参考: https : //dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

  1. exit

  2. 如果要保持安全标准,请删除第2步中添加的行

如果你想改变MySQL的root密码,在terminalinput:

sudo dpkg-reconfigure mysql-server-5.5

MySQL守护进程将被停止,并且会提示您input新的密码。

这就像我为Ubuntu 16.04做的那样。 充分的信贷下面的链接,因为我从那里。 [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts%5D%5B1%5D

停止MySQL

 sudo service mysql stop 

创buildMySQL服务目录。 sudo mkdir / var / run / mysqld

授予MySQL用户写入服务目录的权限。

 sudo chown mysql: /var/run/mysqld 

手动启动MySQL,没有权限检查或联网。

 sudo mysqld_safe --skip-grant-tables --skip-networking & 

无密码login。

 mysql -uroot mysql 

更新root用户的密码。 请确保atleast根帐户更新由下面的查询。 做一些select,并检查现有的价值,如果你喜欢

 UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%'; EXIT; 

closuresMySQL。

 sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown 

正常启动MySQL服务。

 sudo service mysql start 

什么对我有用(Ubuntu 16.04,MySQL 5.7):

停止MySQL

 sudo service mysql stop 

创buildMySQL服务目录。

 sudo mkdir /var/run/mysqld 

授予MySQL用户写入服务目录的权限。

 sudo chown mysql: /var/run/mysqld 

手动启动MySQL,没有权限检查或联网。

 sudo mysqld_safe --skip-grant-tables --skip-networking & 

在另一个控制台上,不用密码login。

 mysql -uroot mysql 

然后:

 UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%'; EXIT; 

closuresMySQL。

 sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown 

正常启动MySQL服务。

 sudo service mysql start 

当您在要更改密码的系统上使用MySQL的PASSWORD()时,可能会导致密码在MySQL日志中以明文forms显示[ source ]。 保持他们,他们的备份等安全的密码听起来像噩梦对我来说,所以我宁愿这样做,如下所示:

  1. 在您的本地机器上,使用您的密码运行:

      mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');") 

    请注意前面的空格,以防止它在bash历史logging中出现(对于Ubuntu以外的其他发行版,这可能以不同的方式工作 – 来源 )。

  2. 在您的服务器机器上,执行以下命令更改其MySQL根密码(将第一个命令打印的密码哈希replace为myhash ):

     mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';") 
  3. 可选地,让我们有点偏执:在你的本地机器上,清除你的terminal屏幕并清除虚拟terminal的回滚,以隐藏出现在上面的命令中的明文密码。

如果你知道你当前的密码,你不必停止mysql服务器。 打开ubuntuterminal。 login到MySQL使用:

 mysql - username -p 

然后input你的密码。 这将带你到MySQL控制台。 在控制台内input:

 > ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 

然后使用以下命令刷新权

 > flush privileges; 

那么你们都完成了。

如果您已经设置了phpmyadmin来连接而不提供密码或用户名,那么在本地机器上就不用重新设置密码了。 通过启动mysqlapache等检查了这一点。我已经安装在本地机器xampp 。 因此,启动xampp将启动所有必要的服务。 现在去http://localhost/phpmyadmin显示我所有的数据库。 这证实你已经在phpmyadmin的configuration文件中保存了用户名和密码,可以在phpmyadmin安装位置find。 如果安装了xampp ,则可以在xampp安装的根文件夹中findphpmyadmin文件夹。 在config.inc.php文件中searchpassword 。 在那里你会findpasswordusername

如果通过提供的phpadmin gui部署在xampp上,您可以轻松更改mysql密码。

 phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab) 

你可以使用这个命令:

UPDATE mysql.user SET Password = PASSWORD('newpwd')WHERE User ='root';

之后,请求使用冲洗FLUSH特权;

对于MySQL 5.6这个命令的工作,你可以通过向导设置密码:

 sudo dpkg-reconfigure mysql-server-5.6 

当更改/重置MySQL密码时,上面列出的以下命令不起作用。 我发现进入terminal并使用这些命令是毫无意义的。 而是使用命令sudo stop everything。 删除系统32的窗户,如果有帮助。