我实际上丢失了根密码,我需要更改它.我遵循以下步骤:

  • 第1步:停止MySQL服务器进程.

    第2步:使用

    第3步:以root用户身份连接到MySQL服务器.

我们可以在这些网站上找到:https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords#recover-mysql-root-password

mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("TOOR");
mysql> flush privileges;
mysql> quit

第一个错误,所以我试着:

mysql> use mysql;
mysql> update user set password=PASSWORD("TOOR") where User='root';
mysql> flush privileges;
mysql> quit

同样的错误总是说:

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 '("TOO
R") WHERE User='root'' at line 1

我该如何解决这个问题?

推荐答案

正如here所说:

这个函数在MySQL 8.0.11中被删除

1.如果您处于跳过授权表模式

UPDATE mysql.user SET authentication_string=null WHERE User='root';
FLUSH PRIVILEGES;
exit;

然后,在终端:

mysql -u root

在mysql中:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

2.not in skip-grant-tables mode
just 在mysql中:

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

Mysql相关问答推荐

为什么嵌套循环逻辑不能按预期工作

为大表优化 Django 模型

基于多个 where 子句在规范化表中查找公共 ID(值)

为什么 `count` 函数有效但 `sum` 无效?

如何使用mysql更新列中的json数据

检索按键列值分组的最新日期 (MySql)

MYSQL:范围匹配与周年纪念日

在 Presto Athena 中将字符串转换为数组

如何使用 sequelize 将复合主键放在连接表中?

如何过滤表格,以便它显示最新的数据?

避免重复进入mysql数据库的最佳方法

MySQL 如何处理并发插入?

MySql 以秒为单位的两个时间戳之间的差异?

这是将表单数据插入 MySQL 数据库的安全方法吗?

在 MYSQL 中按枚举字段排序

MySQL 在每个唯一值第一次出现时 Select 行

MySQL与空值比较

MySQL DAYOFWEEK() - 我的一周从星期一开始

你能推荐一个免费的 Linux 轻量级 MySQL GUI 吗?

在 MySQL Workbench 中导出超过 1000 条记录的查询结果