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

时间:2013-05-15 03:47:23

标签: mysql ubuntu phpmyadmin

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

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

35 个答案:

答案 0 :(得分:163)

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

  1. 停止MySQL服务器:sudo /etc/init.d/mysql stop
  2. 启动mysqld配置:sudo mysqld --skip-grant-tables &

    在某些情况下,您首先要创建/var/run/mysqld

    sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
    
  3. 以root身份登录MySQL:mysql -u root mysql

  4. 用新密码替换YOURNEWPASSWORD

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

    注意:在某些版本中,如果password列不存在,您可能需要尝试:
       UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

    注意:此方法不被视为重置密码的最安全方式,但是,它可以正常工作。

    参考文献:

    1. Set / Change / Reset the MySQL root password on Ubuntu Linux
    2. How to Reset the Root Password

答案 1 :(得分:95)

在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-server版本,可以尝试:

dpkg --get-selections | grep mysql-server

更新了mysql-server-5.7的说明

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

如果您知道密码,请登录并运行:

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

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

sudo mysql_secure_installation

这将向您询问有关保护安装的一系列问题(强烈推荐),包括您是否要提供新的root密码。

如果您不知道root密码,refer to this Ubuntu-centric write up on the process

有关详细信息,请参阅:

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

答案 2 :(得分:92)

对我有用的唯一方法是here(我正在运行ubuntu 14.04)。为了清楚起见,这些是我遵循的步骤:

  1. sudo vim /etc/mysql/my.cnf
  2. 在最后添加以下行:

    [mysqld]
    
    skip-grant-tables
  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

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

答案 3 :(得分:72)

我正在分享一步一步的最终解决方案,以便在Linux中重置MySQL密码 Ubuntu Linux系统。

<强> Reference taken from blog (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;

答案 4 :(得分:46)

对我有用的东西(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

答案 5 :(得分:34)

更改MySQL root密码。

此方法将密码公开给命令行历史记录,这些命令应以root身份运行。

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

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

    SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
    
    1. 运行此命令,为当前用户设置密码(对于这种情况,&#39; root&#39;)

        

      SET PASSWORD = PASSWORD(&#39; newpassword&#39;);

答案 6 :(得分:30)

我在使用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;

答案 7 :(得分:12)

这就像我为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服务目录。     sudo mkdir / var / run / mysqld

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

sudo chown mysql: /var/run/mysqld

手动启动MySQL,无需权限检查或联网。

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

无需密码登录。

mysql -uroot mysql

更新root用户的密码。 确保至少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

答案 8 :(得分:12)

如果您想更改MySQL root密码,请在终端输入:

sudo dpkg-reconfigure mysql-server-5.5

MySQL守护程序将被停止,系统将提示您输入新密码。

答案 9 :(得分:9)

这是我的解决方案。我在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'; 

答案 10 :(得分:9)

  1. 停止MySQL sudo service mysql stop

  2. 制作MySQL服务目录。 sudo mkdir / var / run / mysqld

  3. 授予MySQL用户写入服务目录的权限。 sudo chown mysql:/ var / run / mysqld

  4. 手动启动MySQL,无需权限检查或联网。 sudo mysqld_safe --skip-grant-tables --skip-networking&amp;

  5. 5.无需密码登录。 mysql -uroot mysql

    6.更新root用户的密码。

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

    1. 关闭MySQL。 sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

    2. 正常启动MySQL服务。 sudo service mysql start

答案 11 :(得分:7)

此解决方案属于MySQL的早期版本。 通过使用套接字身份验证登录到MySQL,就可以做到这一点。

sudo mysql -u root

然后可以运行以下命令。

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

详细信息可用here

答案 12 :(得分:6)

回应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密码:

enter image description here

答案 13 :(得分:5)

首先运行此命令:

sudo mysql

然后应检查您的MySQL用户帐户使用哪种身份验证方法。因此请运行此命令

SELECT user,authentication_string,plugin,host FROM mysql.user;

现在您已经可以看到类似的内容:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

在上面的表中,您可以看到所有mysql用户的帐户状态;如果您已经设置了root帐户的密码,则在插件列中看到mysql_native_password而不是auth_socket之前。 总之,要更改您的root密码,应运行:

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

确保将密码更改为您选择的强密码。 然后,要重新加载服务器以使新更改生效,请运行此命令;

FLUSH PRIVILEGES;

因此再次通过以下命令检查mysql已采用的身份验证方法:

SELECT user,authentication_string,plugin,host FROM mysql.user;

现在的输出是:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

如您在赠款表中看到的,您的根帐户拥有mysql_native_password 。 现在您可以退出MYSQL shell

exit;

就是这样。只是您应该通过sudo service mysql restart重新启动mysql。 现在,您可以以root帐户登录mysql,轻松输入密码。

答案 14 :(得分:5)

对于我来说,此选项有帮助:https://stackoverflow.com/a/49610152/13760371
谢谢拉胡尔。

除了以下情况,当我尝试输入命令时:

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

控制台发出警告:

1681 'password' is deprecated and will be removed in a future release

使用以下命令治愈:

UPDATE mysql.user SET authentication_string=CONCAT('*', UPPER(SHA1(UNHEX(SHA1('NEWPASSWORD'))))), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';

MySQL版本5.7.X

我的变体:

1. > sudo service mysql stop
2. > sudo mkdir /var/run/mysqld
3. > sudo chown mysql: /var/run/mysqld
4. > sudo mysqld_safe --skip-grant-tables --skip-networking &
5. > mysql -uroot mysql
6. > UPDATE mysql.user SET authentication_string=CONCAT('*', UPPER(SHA1(UNHEX(SHA1('NEWPASSWORD'))))), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
7. > sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
8. > sudo service mysql start

答案 15 :(得分:3)

如果您知道当前的密码,则不必停止mysql服务器。 打开ubuntu终端。 使用以下命令登录mysql:

mysql - username -p

然后输入您的密码。 这将带你进入mysql控制台。 在控制台内,键入:

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

然后使用以下方式刷新权限:

> flush privileges;

然后你们都完成了。

答案 16 :(得分:2)

要更新“root”Mysql用户密码,您必须记住,您需要具有超级用户权限。如果您具有超级用户权限,请尝试以下命令:

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

答案 17 :(得分:2)

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

mysql -u root -p

然后将当前用户的密码更改为mysql>提示符:

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

答案 18 :(得分:2)

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

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

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

    请注意前面的空格以防止它在bash历史记录中出现(对于除Ubuntu之外的其他发行版,这可能会有所不同 - source)。

  2. 在服务器计算机上,执行以下命令更改其MySQL root密码(将myhash替换为第一个命令打印的密码哈希值):

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

答案 19 :(得分:1)

设置MySQL密码

  1. 停止MySQL数据库服务

sudo /etc/init.d/mysql stop

  1. 创建一个新的mysqld目录

sudo mkdir / var / run / mysqld /

  1. 授予mysql用户访问权限

sudo chown mysql / var / run / mysqld /

  1. 以安全模式启动MySQL ...

sudo mysqld_safe --skip-grant-tables&

  1. 不用密码登录数据库服务器

sudo mysql -u根

  1. 使用默认的mysql数据库

使用mysql;

  1. 更改root密码

update user set authentication_string=PASSWORD("New_Passwore_Here") where User ='root';

  1. 保存更改

    冲洗特权; 退出;

  2. 停止MySQL safe_mode并启动MySQL默认服务

sudo /etc/init.d/mysql stop

sudo /etc/init.d/mysql start

  1. 使用root用户新密码重新登录MySQL数据库

sudo mysql -u根-p

***来源:https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/

答案 20 :(得分:1)

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

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

答案 21 :(得分:1)

如果您知道'root'用户密码,请使用该凭据登录mysql。然后执行以下查询以更新密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

答案 22 :(得分:1)

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

停止Mysql Service 1st

sudo /etc/init.d/mysql stop 

以root身份登录,无需密码 sudo mysqld_safe --skip-grant-tables&amp;

登录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服务器后 如果您仍然面临错误,您必须访问: Reset MySQL 5.7 root password Ubuntu 16.04

答案 23 :(得分:1)

for mysql 5.6此命令有效,您可以通过向导设置密码:

sudo dpkg-reconfigure mysql-server-5.6

答案 24 :(得分:1)

如果您已设置phpmyadmin进行连接而不提供密码或用户名,则可以在本地计算机上进行解决,而不是重置密码。通过启动mysqlapache等来检查这一点。我在本地计算机上安装了xampp。因此,启动xampp将启动所有必要的服务。现在转到http://localhost/phpmyadmin向我展示了所有数据库。这确认您已在phpmyadmin的配置文件中保存了用户名和密码,该文件可在phpmyadmin安装位置找到。如果安装了xampp,则可以在phpmyadmin安装的根文件夹中找到xampp文件夹。在password文件中搜索单词config.inc.php。在那里,您会找到passwordusername

答案 25 :(得分:1)

您可以使用此命令:

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

之后请使用flush:

FLUSH PRIVILEGES;

答案 26 :(得分:0)

有关该主题的大多数答案已过时;在编写此答案之前,MySQL中发生了两个主要变化:

1-用户表中的“密码”字段已由“身份验证字符串”列替换。

2-不建议使用“密码”加密功能:PASSWORD(“某些文本”)。

请进一步参考information:dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

答案 27 :(得分:0)

1.打开nano/vim,创建一个包含以下内容的文件并将文件另存为~/mysql-pwd

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEWPASSWORD';
  1. 停止 mysql sudo systemctl stop mysql
  2. 运行sudo mysqld -init-file=~/mysql-pwd
  3. 重启 mysql sudo systemctl start mysql
  4. 现在登录mysql -u root -p。密码将是您的 NEWPASSWORD

答案 28 :(得分:0)

我没有看到MySQL 8.0 guide建议的正式步骤,这是唯一对我有用的步骤。这是这些步骤的摘要。

  1. 如果MySQL服务器正在运行,请停止。在/var/lib/mysql//var/run/mysqld//usr/local/mysql/data/中查找具有服务器进程ID的pid文件。通常,文件以mysqld或系统的主机名开头,以.pid结尾。 在以下命令中替换刚刚找到的mysql-data-directoryhost_name

    $ sudo kill `sudo cat /mysql-data-directory/host_name.pid`
    
  2. 此命令将使用SQL语句在/tmp/mysql-init创建文本文件,并使mysql用户成为所有者。用您自己的密码替换命令MyNewPass中的密码。

    $ echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';" > /tmp/mysql-init && sudo chown mysql /tmp/mysql-init
    
  3. 通过在命令行上运行以下命令,
  4. 启动MySQL服务器。此后,密码将更新,您可以使用CTRL+C重新关闭服务器。

    $ sudo mysqld --user=mysql --init-file=/tmp/mysql-init &
    
  5. 使用密码删除临时文件

    $ sudo rm /tmp/mysql-init
    

答案 29 :(得分:0)

对于Ubuntu 18.04和mysql版本14.14 Distrib 5.7.22,请按照以下步骤重置mysql密码。

步骤1

df.id.str[:2]+df.id.str[2].where(df.id.str[2]==0,'')+df.id.str[3:]
0    4735
1      46
2    2345
3    8768
4     807
5    7896
Name: id, dtype: object

步骤2

sudo systemctl stop mysql

此命令将在nano编辑器中打开一个新文件,您将使用该文件来编辑MySQL的服务替代。这些更改了MySQL的默认服务参数。该文件将为空,因此添加以下内容:

步骤3

sudo systemctl edit mysql

步骤4

sudo systemctl daemon-reload
sudo systemctl start mysql

步骤5

sudo mysql -u root

步骤6

FLUSH PRIVILEGES;

步骤7

UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';

步骤8

UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';

最后

sudo systemctl revert mysql

现在享受

答案 30 :(得分:0)

更改MySQL根密码。以更简单的方式

所有这些命令都应以root用户身份运行。

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

Step-1

mysql -uroot -p"your_old_password"

然后运行以下命令:

第二步

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

方法2 (首先使用上述命令使用旧密码登录)

运行此命令,该命令为当前用户设置密码:

SET PASSWORD = PASSWORD('your_new_password');

以上命令适用于当前用户。如果要更改其他用户的密码,可以输入用户名代替“ root”

答案 31 :(得分:0)

password() function上的mysql文档所述:

  

此功能已在MySQL 8.0.11中删除。

这几乎使mysql v8.0.11及更高版本的所有现有答案无效。

每个mysql文档中的new generic way to reset the root password如下:

  

以上各节提供了密码重置说明   特别适用于Windows,Unix和类似Unix的系统。   另外,在任何平台上,您都可以使用   mysql客户端(但是这种方法不太安全):

     

如有必要,请停止MySQL服务器,然后使用   --skip-grant-tables选项。这使任何人都可以不使用密码并拥有所有特权的情况下进行连接,并禁用帐户管理   语句,例如ALTER USER和SET PASSWORD。因为这是   如果服务器以--skip-grant-tables启动,则不安全   选项,它将自动启用--skip-networking以防止远程   连接。

     

使用mysql客户端连接到MySQL服务器;没有密码   必要,因为服务器是使用--skip-grant-tables启动的:

shell> mysql
     

在mysql客户端中,告诉服务器重新加载授权表,以便帐户管理语句起作用:

mysql> FLUSH PRIVILEGES;
     

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

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

您现在应该可以使用以下命令以root用户身份连接到MySQL服务器:   新密码。停止服务器并正常重启(无需   --skip-grant-tables和--skip-networking选项。

答案 32 :(得分:0)

我不得不在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. 使用sudo / usr / sbin / mysqld&amp;
  3. 运行mysqld
  4. 运行/ usr / bin / mysql_secure_installation

    mysql_secure_installation的输出

      

    root @ myServer:〜#/ usr / bin / mysql_secure_installation

         

    保护MySQL服务器部署。

         

    输入root用户的密码:

         

    VALIDATE PASSWORD PLUGIN可用于测试密码   并提高安全性。它检查密码的强度   并允许用户只设置那些密码   足够安全。你想设置VALIDATE PASSWORD插件吗?

         

    按y | Y表示是,否则为否的任何其他键:否   使用root的现有密码。   更改root的密码? ((按y | Y表示是,任何其他键表示否):y

         

    新密码:

         

    重新输入新密码:   默认情况下,MySQL安装有一个匿名用户,   允许任何人登录MySQL而不必拥有   为他们创建的用户帐户。这仅适用于   测试,并使安装更顺畅。   您应该在进入生产之前将其删除   环境。

         

    删除匿名用户? (按y | Y表示是,任何其他键表示否):y   成功。

         

    通常,只允许root连接   &#39;本地主机&#39 ;.这可以确保有人无法猜测   来自网络的root密码。

         

    远程禁止root登录? (按y | Y表示是,任何其他键表示否):y   成功。

         

    默认情况下,MySQL附带一个名为&#39; test&#39;的数据库。那   任何人都可以访问这也仅用于测试,   并且应该在进入生产之前将其删除   环境。

         

    删除测试数据库并访问它? (按y | Y表示是,任何其他键表示否):y

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

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

    •   
         

    重新加载权限表将确保所有更改   到目前为止,它将立即生效。

         

    立即重新加载权限表? (按y | Y表示是,任何其他键表示否):y   成功。

         

    全部完成!

答案 33 :(得分:0)

要重置或更改密码,请输入sudo dpkg-reconfigure mysql-server-X.X(XX是您安装的mysql版本,即5.6,5.7),然后您将提示您必须设置新密码的屏幕,然后在下一步确认密码,等一下。那就是它。

答案 34 :(得分:0)

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