mysql 8.0.25 取巧解决修改密码报错问题

mysql修改密码 报错
# 修改密码
set password for root@localhost=password('新密码');
1.1 报错:
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('xxx')' at line 1

# 翻译
错误1064(42000):你有一个错误的SQL语法; 检查您的MySQL服务器版本对应的手册,在第一行使用正确的语法'password('xxx')'附近 

注意:这次修改密码的原因是 我的mysql密码中包含 ‘@’ 符号,平常没啥事,结果用flask_sqlalchemy连接数据库时(地址以@开始识别),所以就报错了。
所以在此提醒各位朋友不要犯这个错!!!

1.2 解决办法:

在网上找了很多办法都不管用,只能换一种修改方式。

1)、以管理员身份cmd 进入mysql\bin目录停止服务:

C:\mysql\mysql-8.0.25-winx64\bin>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。

2)、mysqld --shared-memory --skip-grant-tables (跳过密码登录)hold住:

C:\mysql\mysql-8.0.25-winx64\bin>mysqld --shared-memory --skip-grant-tables

3)、以管理员身份另起cmd,并进入mysql\bin目录:

  • mysql -uroot -p 直接回车进入mysql;

  • 执行如下命令 修改密码:

    update user set authentication_string='' where user='root';   # 密码置空
    flush privileges;                                             # 刷新权限
    alter user 'root'@'%' identified by 'xxxxx';               # 设置密码
    
  • exit 退出mysql登录

4)、Ctrl+C 停止第2步的跳过密码登录操作,并重启mysql服务:

C:\mysql\mysql-8.0.25-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

5)、用新密码登录,即可成功

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL 8.0.25修改 root 密码的步骤如下: 1. 使用管理员权限登录系统 2. 使用以下命令登录 MySQL: ``` sudo mysql -u root -p ``` 3. 使用以下命令进入 MySQL 的安全模式: ``` ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 4. 重新启动 MySQL 服务,使修改生效。 ``` sudo systemctl restart mysql ``` 5. 使用新密码登录 MySQL修改成功 注意: - 如果您的 MySQL 是远程连接,则需要将'root'@'localhost' 替换为'root'@'%' - 如果您的mysql版本是5.7版本以下,使用SET PASSWORD=PASSWORD('新密码') 替换 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ### 回答2: MySQL是目前最常用的关系型数据库之一。使用它的好处是它的速度快,稳定性高,而且开源免费。用户可以自由选择使用不同的编程语言对其进行操作。为了保证数据库的安全性,管理员必须定期更改MySQL的root密码。下面我们来介绍如何在MySQL8.0.25版本中修改root密码。 步骤1:登录MySQL数据库 首先需要进入MySQL数据库。可以在命令提示符下运行以下命令进入: ``` mysql -u root -p ``` 它将会提示您输入root用户的密码。在此之后,您将进入MySQL的提示符,现在您可以对数据库进行操作。 步骤2:停止MySQL服务 在修改密码之前,我们需要停止MySQL服务。运行以下命令停止MySQL服务: ``` sudo systemctl stop mysqld ``` 步骤3:编辑MySQL配置文件 现在我们需要编辑MySQL的配置文件my.cnf。在终端中输入以下命令打开编辑器: ``` sudo nano /etc/my.cnf ``` 在my.cnf文件的末尾添加以下行: ``` [mysqld] skip-grant-tables ``` 这个语句告诉MySQL跳过授权表中的密码验证。保存并退出。 步骤4:启动MySQL服务 现在我们需要重新启动MySQL服务,以便应用新的配置。在终端中输入以下命令: ``` sudo systemctl start mysqld ``` 步骤5:修改root密码 现在我们需要进入MySQL并更新root用户密码。键入以下命令进入MySQL: ``` mysql -u root ``` 该命令将告诉MySQL透过密码验证,我们可以进入MySQL,不过这次输入的密码是空的。 运行以下命令更新root用户的密码: ``` ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 将new_password替换为您想要设置的新密码。 步骤6:使更改生效 我们已经编辑了MySQL的配置文件,并重新启动MySQL服务。现在我们需要将更改更新到MySQL的授权表中。请键入以下命令: ``` FLUSH PRIVILEGES; ``` 运行该命令后,MySQL会更新授权表,并将新的密码应用于root用户。 步骤7:验证更改和退出MySQL 现在我们需要退出MySQL并重新启动MySQL服务。运行以下命令以退出MySQL: ``` quit; ``` 现在我们需要重新启动MySQL服务: ``` sudo systemctl restart mysqld ``` 现在我们已经完成了所有的步骤。新密码现在已经应用于MySQL的root用户。请确保记下新密码,并注意保护该密码以确保数据库的安全。 ### 回答3: MySQL是广泛应用的关系型数据库管理系统,允许用户通过各种命令和工具对数据库进行操作。在MySQL中,默认的管理员账户是root,它具有所有特权,包括更改密码。本文将讲解如何在mysql8.0.25版本下修改root密码。 一、使用command line修改root密码 1. 打开终端并连接MySQL: `mysql -u root -p` 2. 输入你的当前root密码,然后进入mysql系统: `Enter password:********` 3. 切换到mysql系统: `mysql>use mysql;` 4. 更改root密码: `mysql>update user set authentication_string=PASSWORD('new_password') where User='root';` (提示:新密码应该包含大小写字母、数字和特殊字符) 5. 刷新MySQL特权表: `mysql>flush privileges;` 6. 退出mysql系统: `mysql>exit;` 二、使用工具修改root密码 如果您不习惯使用命令行,可以使用图形界面工具Navicat for MySQL修改root密码。 1. 打开Navicat for MySQL并连接数据库。 2. 在连接面板的左侧边栏中,右击root账户并选择“修改密码”。 3. 在弹出的对话框中输入新密码和确认密码。 4. 单击“确定”按钮保存更改后,就可以使用新密码登录root账户了。 总之,通过以上两种方法,您可以在mysql8.0.25版本下成功修改root密码。当然,需要注意的是,这个root账户非常重要且强大,所以要确保密码的复杂性和安全性以保护数据的完整性和安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值