Ubuntu 服务器 20.04 无法设置 MySQL 密码

Ubuntu 服务器 20.04 无法设置 MySQL 密码

数据库mysql中root密码正确设置方法是什么?

phpmyadmin在那里安装并设置了密码,然后以 phpmyadmin 身份登录,密码是我设置的,但没有权限。

猜测这是一个新的数据库,不能按照与旧数据库相同的方式进行设置,不确定。

在 Google 上查找如何在 mysql 中设置密码,但只得到错误。

猜测他们必须更新 Webmin,当尝试在其中设置密码时会出现此错误。

Failed to change administration password : SQL set password for 'root'@'localhost' = password('XXXXXXX') failed : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password('XXXXXXX')' at line 1

在 phpmyadmin 中我可以更改密码,但在 Webmin 中仍然显示没有 root 密码。所以我认为它不起作用。

猜测他们必须为这个新数据库更新 Webmin 和 phpmyadminMySQL 版本 8.0.19-0ubuntu5

这是命令行,我可以使用我在 phpmyadmin 中设置的密码登录,但无法更改它。

root@fujitsu-laptop:~# mysql -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 289
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password for 'root'@'localhost' = PASSWORD('XXXXXX');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PASSWORD('XXXXXX')' at line 1
mysql> exit
Bye
root@fujitsu-laptop:~#

答案1

是的,你说得对。那个更改密码的命令已经过时了。但 Webmin 和 phpMyAdmin 仍然使用该命令。在 MySQL 8.0 中,要更改密码,您必须执行以下操作:

登录 MySQL

正如 Webmin 所说,没有为 root 设置密码,您可以这样做,这样不会提示您输入密码:

sudo mysql

如果显示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)“webmin 错误,密码已设置”(如果您没有搞砸一切,一切正常)。那么如果您想更改密码,可以尝试以下操作(这将提示您输入密码):

sudo mysql -p

设置或更改您的密码

使用以下命令更改您的密码:(您应该使用,ALTER USER因为它有很多选项SET PASSWORD

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

或者你可以使用这个命令:

SET PASSWORD = 'your_password';

您现在可以退出exitMySQL 客户端。

如果您想知道为什么我指示先尝试sudo mysql,那么您应该知道,如果 MySQL 用户没有设置密码,那么无论他或她在提示符下输入什么设置sudo mysql -p,登录都会成功。因此,通过sudo mysql先尝试,您将知道您的密码是否已设置。

请务必your_password使用您自己的密码进行更改。

相关内容