数据库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';
您现在可以退出exit
MySQL 客户端。
如果您想知道为什么我指示先尝试sudo mysql
,那么您应该知道,如果 MySQL 用户没有设置密码,那么无论他或她在提示符下输入什么设置sudo mysql -p
,登录都会成功。因此,通过sudo mysql
先尝试,您将知道您的密码是否已设置。
请务必your_password
使用您自己的密码进行更改。