如何重置或更改MySQL的root密码?(How to reset or change the My

2019-09-03 06:05发布

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

我有一个phpmyadmin的设置,以及将phpMyAdmin的获得自动更新?

Answer 1:

设置/变更/重置在Ubuntu Linux的MySQL root密码。 在终端中输入以下行。

  1. 停止MySQL服务器: sudo /etc/init.d/mysql stop
  2. 启动mysqld配置: sudo mysqld --skip-grant-tables &
  3. 登录MySQL作为根: mysql -u root mysql
  4. 更换YOURNEWPASSWORD使用新密码:

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

注:在某些版本中,如果password栏不存在,你可能也想尝试:
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

注意:这个方法是不被视为重置密码的最安全的方式,但是,它的工作原理。

参考文献:

  1. 设置/更改/复位在Ubuntu Linux的MySQL root密码
  2. 如何复位根用户密码


Answer 2:

官方和简单的方法来一个Ubuntu服务器上重新设置root的密码...

如果你是在16.04,14.04,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的服务器- 5.7

请注意,如果你正在使用MySQL服务器-5.7则不能使用上面显示的更容易的dpkg-重新配置方法。

如果你知道密码,登录,运行以下命令:

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

另外,您也可以使用以下命令:

sudo mysql_secure_installation

如果你想提供一个新的超级用户口令这会问你一系列有关保护安装(强烈推荐),包括提问。

如果你不知道root密码, 是指在该过程中Ubuntu的中心写了 。

详情参见:

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



Answer 3:

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

  1. sudo vim /etc/mysql/my.cnf
  2. 添加以下行结尾:

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

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root'; -顶一下,以确定密码是否列被称为密码authentication_string

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - 使用从上面正确的密码列

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. 如果你想保持你的安全标准删除在步骤2中添加的行

  12. sudo service mysql restart

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



Answer 4:

我分享一步步最终解决复位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

第5步:登录成功后,请执行此命令更改任何密码。

FLUSH PRIVILEGES;

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

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

:在MySQL 5.7,列Password被称为authentication_string

第7步:请执行此命令。

FLUSH PRIVILEGES;


Answer 5:

什么工作对我来说(Ubuntu的16.04时,MySQL 5.7):

停止MySQL的

sudo service mysql stop

使MySQL服务目录。

sudo mkdir /var/run/mysqld

给MySQL来写服务目录用户权限。

sudo chown mysql: /var/run/mysqld

手动启动mysql,擅自检查或联网。

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

在另一个控制台中,无需输入密码。

mysql -uroot mysql

然后:

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

关闭MySQL的。

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

正常启动MySQL服务。

sudo service mysql start


Answer 6:

更改MySQL root密码。

此方法公开口令到命令行历史,这些命令应该运行为根。

  1. 通过mysql命令行工具的登录:

     mysql -uroot -poldpassword 
  2. 运行此命令:

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

要么

  1. 运行此命令,它设定为当前用户(“根”为这种情况下)的密码:

    SET PASSWORD = PASSWORD( '新密码');



Answer 7:

我面临的问题与Ubuntu 18.04和MySQL 5.7,这是解决方案

MYSQL-SERVER> = 5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

MYSQL-SERVER <5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;


Answer 8:

如果你想改变MySQL的root密码,在终端中输入:

sudo dpkg-reconfigure mysql-server-5.5

MySQL守护程序将停止,你会被提示输入新的密码。



Answer 9:

这就像魅力,我做到了对Ubuntu 16.04。 完全学分制下面的链接,因为我得到了它从那里。 [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts][1]

停止MySQL的

sudo service mysql stop

使MySQL服务目录。 须藤的mkdir / var / run中/ mysqld的

给MySQL来写服务目录用户权限。

sudo chown mysql: /var/run/mysqld

手动启动mysql,擅自检查或联网。

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

登录无需输入密码。

mysql -uroot mysql

更新root用户的密码。 确保在ATLEAST root帐户被通过下面的查询更新。 做出一些选择和检查现有的值,如果你喜欢

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

关闭MySQL的。

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

正常启动MySQL服务。

sudo service mysql start


Answer 10:

  1. 停止MySQL的须藤服务mysql的停止

  2. 使MySQL服务目录。 须藤的mkdir / var / run中/ mysqld的

  3. 给MySQL来写服务目录用户权限。 须藤CHOWN MySQL的:/ var / run中/ mysqld的

  4. 手动启动mysql,擅自检查或联网。 须藤mysqld_safe的--skip-赠款表--skip-联网&

5.Log在没有密码的情况。 MySQL的MySQL的-uroot

6.Update根用户的密码。

更新mysql.user设置authentication_string = PASSWORD( 'YOURNEWPASSWORD'),插件= 'mysql_native_password' WHERE用户= '根'和主机= '%'; 出口;

  1. 关闭MySQL的。 须藤中mysqladmin -S /var/run/mysqld/mysqld.sock关机

  2. 正常启动MySQL服务。 sudo的服务mysql的开始



Answer 11:

这是我的解决方案。 我在Ubuntu的18.04工作: https://stackoverflow.com/a/46076838/2400373

但是,重要的是这种变化的最后一步:

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


Answer 12:

该解决方案属于以前版本的MySQL。 通过使用插座认证登录到MySQL,你可以做到这一点。

sudo mysql -u root

然后下面的命令可以运行。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

详情请点击这里 。



Answer 13:

呼应rogerdpack的评论:如果你不知道MySQL的root密码,你不关心MySQL数据/设置,就可以重新安装和重新设置root的密码,如下所示:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client 

在安装过程中,您可以选择root的密码:



Answer 14:

如果你知道你的当前密码,您不必停止MySQL服务器。 打开ubuntu的终端。 登录使用到mysql:

mysql - username -p

然后输入您的密码。 这将带您进入MySQL控制台。 里面的控制台,输入:

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

然后用冲洗特权:

> flush privileges;

然后,你都做。



Answer 15:

当你使用MySQL的PASSWORD()要更改密码的系统上,它可能会导致密码打开了在MySQL日志中明文[ 来源 ]。 让他们,他们的备份等,为安全的密码听起来像是噩梦给我,所以我比较喜欢做它,如下所示:

  1. 在您的本地机器 ,你的密码运行以下命令:

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

    注意前面的空间,以防止它在bash的历史(在其他版本的Ubuntu相比,这可能会有所改变-转向了源 )。

  2. 在你的服务器上,执行以下命令来改变它的MySQL root密码(更换myhash你的密码的哈希值由第一个命令为印刷):

     mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';") 
  3. 或者,让我们的是一个有点偏执:在您的本地机器上,清除终端屏幕, clear和清除您的虚拟终端回溯,隐藏出现在上面的命令中的明文密码。



Answer 16:

要更新的“根” mysql用户密码,您必须记住,你将需要为超级用户的权限。 如果你有超级用户privilegies,请尝试以下命令:

MySQL的5.7.6和以后

sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass

MySQL的5.7.5及更早版本

sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass


Answer 17:

你并不需要这一切。 只需登录:

mysql -u root -p

然后,改变当前用户的密码作为mysql>提示符下:

mysql> set password=password('the_new_password');
mysql> flush privileges;


Answer 18:

相反,重置密码有一个解决办法,如果你已经安装在本地计算机上phpmyadmin无需提供密码或用户名进行连接。 通过启动检查了这一点mysqlapache等等。我已经xampp安装在我的本地机器。 所以,在开始XAMPP将启动所有必要的服务。 现在去http://localhost/phpmyadmin展示我所有的数据库。 这证实了已保存在可以在找到的phpmyadmin的config文件中的用户名和密码时应phpmyadmin安装位置。 如果您有xampp安装phpmyadmin文件夹可在根文件夹中找到xampp安装。 搜索单词passwordconfig.inc.php文件。 在那里,你会发现passwordusername



Answer 19:

如果部署通过提供phpadmin GUI XAMPP您可以轻松地更改MySQL密码。

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


Answer 20:

您可以使用此命令:

更新mysql.user设置密码= PASSWORD( 'NEWPWD')WHERE用户= '根';

之后的请求使用冲洗FLUSH PRIVILEGES;



Answer 21:

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

sudo dpkg-reconfigure mysql-server-5.6


Answer 22:

您可以尝试以下一些步骤来重置的MySQL 5.7 root的密码:

停止MySQL服务1

sudo /etc/init.d/mysql stop 

以root身份登录,没有密码sudo mysqld_safe --skip-grant-tables

登录MySQL的终端后,如果您需要执行命令更多:

use mysql;




UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';


flush privileges;


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

重新启动你的mysql服务器之后如果仍然面临着错误你必须访问: 重置MySQL的5.7 root密码的Ubuntu 16.04



Answer 23:

当改变/重置密码的MySQL上面列出以下命令并没有帮助。 我发现,进入终端,并使用这些命令是没有意义的。 而是使用命令sudo停止一切。 删除系统32窗户是否有帮助。



Answer 24:

要重置或更改密码输入sudo dpkg-reconfigure mysql-server-XX (XX是你已经安装了IE 5.6,5.7 MySQL版本),然后,你必须设置新密码,然后在下一步确认您会提示屏幕该密码,只要稍等片刻。 而已。



Answer 25:

我不得不去在Ubuntu 16.04.1 LTS这条路线。 这是上面的一些其他答案的混合有点 - 但他们没有帮助。 我花了一个多小时试图从MySQL网站上的所有其他建议的一切对SO,我终于得到了它的工作:

注意:当它显示root用户输入密码,我没有原来的密码,所以我刚刚进入被用作新的密码相同的密码。

注:没有/var/log/mysqld.log只/var/log/mysql/error.log

还要注意这对我来说没有工作:
sudo dpkg-reconfigure mysql-server-5.7

也没有:
sudo dpkg-reconfigure --force mysql-server-5.5

使MySQL服务目录。
sudo mkdir /var/run/mysqld

给MySQL来写服务目录用户权限。
sudo chown mysql: /var/run/mysqld

然后:

  1. 杀死当前mysqld的PID
  2. 运行mysqld的使用sudo / usr / sbin目录/ mysqld的&
  3. 运行/ usr / bin中/ mysql_secure_installation

    从mysql_secure_installation输出

    根@ myServer上:〜#在/ usr / bin中/ mysql_secure_installation

    保护MySQL服务器的部署。

    输入用户root的密码:

    VALIDATE密码插件可以用来测试密码和提高安全性。 它检查密码的强度,并允许用户设置只有那些有足够安全的密码。 你想设置VALIDATE密码插件?

    按y | Y的是,任何其他键编号:根没有使用现有的密码。 更改根密码? ((按y | Y的是,因为没有任何其他键):Y

    新密码:

    重新输入新密码:默认情况下,MySQL安装有一个匿名用户,允许任何人登录到MySQL,而不必对他们创建的用户帐户。 这是仅用于测试,使安装去更加顺畅。 移动到生产环境之前,您应该删除它们。

    删除匿名用户? (按y | Y的是,因为没有任何其他键):Y成功。

    通常情况下,根应该只允许从“localhost”的连接。 这将确保其他人无法从网络root密码猜测。

    远程不允许root登录? (按y | Y的是,因为没有任何其他键):Y成功。

    默认情况下,MySQL带有一个名为“测试”,任何人都可以访问数据库。 这也仅用于测试,并且应该移动到生产环境之前被删除。

    删除测试数据库和访问它? (按y | Y的是,因为没有任何其他键):Y

    • 删除测试数据库......成功。

    • 拆卸测试数据库权限...成功。

    重装授权表将确保迄今为止进行的所有更改会立即生效。

    现在刷新授权表? (按y | Y的是,因为没有任何其他键):Y成功。

    全部完成!



Answer 26:

作为对MySQL文档PASSWORD()函数表示:

在MySQL 8.0.11,删除了此功能。

这种无效相当多的MySQL v8.0.11及更新现有的所有答案。

每mysql的文档重新设置root密码新的通用方法如下:

在前面的章节提供专门针对Windows和Unix和类Unix系统密码复位指令。 或者,在任何平台上,你可以使用mysql客户端(但这种做法的安全性较低),重置密码:

如果必要的话停止MySQL服务器,然后使用--skip-grant-tables选项重启。 这使得任何人都可以不用密码,并与所有的权限进行连接,并禁用账户管理语句,例如ALTER USER和设置密码。 因为这是不安全的,如果服务器开始使用--skip-grant-tables选项,它使--skip-联网自动阻止远程连接。

连接到使用mysql客户端的MySQL服务器; 因为服务器开始用--skip-赠款表不需要密码:

 shell> mysql 

在MySQL客户端,告诉服务器重载授权表,使帐户管理报表工作:

 mysql> FLUSH PRIVILEGES; 

然后改变“根” @“localhost”的帐户密码。 替换为您要使用的密码。 要为root帐户有不同的主机名部分修改密码,修改说明使用该主机名。

 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; 

您现在应该能够连接到MySQL服务器使用新密码的根。 停止服务器并正常重新启动它(不使用--skip-grant-表和--skip-网络选项)。



Answer 27:

更改MySQL root密码。 在更简单的方法

所有这些命令必须以root身份运行。

使用旧密码,通过MySQL命令行工具登录:

步骤1

mysql -uroot -p"your_old_password"

然后下面的命令来运行:

第2步

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

方法2(使用使用上面的命令旧密码初次登录)

运行此命令,将当前用户的密码:

SET PASSWORD = PASSWORD('your_new_password');

上面的命令是当前用户。 如果要更改其他用户的密码,就可以把用户名,而不是“根”。



文章来源: How to reset or change the MySQL root password?