Mysql 登陆密码忘记了怎么办?怎么修改密码?

本文介绍了解决MySQL登录时遇到的错误1045的方法,通过修改my.ini文件临时禁用密码验证,进入数据库后更新root用户的密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ERROR 1045 (28000): Access denied for user 'roor'@'localhost' (using password: YES)

ERROR 1045 (28000): Access denied for user 'roor'@'localhost' (using password: NO)

解决方法都一样。

第一步:去到你的安装目录下面找到my.ini文件,打开之后找到这句

[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306

在3306下面加上这句

skip-grant-tables
加完之后是这样


然后在重启Mysql服务器,


然后打开命令行,使用命令行进入你安装Mysql路径的bin文件夹下输入 mysql -uroot -p,然后直接按回车,你会发现你不用密码直接进入数据库了,其实刚才在my.ini文件的操作就是输密码这一步,不过这样数据库的安全性非常低,


最后一步就是改密码了,

(mysql版本在5.7.+以上)

   use mysql;

  然后输入 update mysql.user set authentication_string=password('新密码') where user='root';
  接着刷新权限:flush privileges;
  接着退出:quit;

切记:回到my.ini文件,把刚才加的那语句注释或者删除掉,保存一下,结束。


mysql -uroot -p(切记:后面是没有分号的,本人一直输入分号,结果不断出现连接失败)

再一次登录就OK啦!!!!


### 修改 MySQL 用户密码的方法 修改 MySQL 用户的密码有多种方式,这里介绍几种常用的方式: #### 方法一: 使用 `ALTER USER` 命令(推荐用于 MySQL 5.7 及以上) 这是从 MySQL 5.7 开始引入的一种更直观和安全的方式来更改用户密码。以下是具体的步骤: 1. 登录MySQL 控制台: ```bash mysql -u root -p ``` 2. 执行以下 SQL 语句来更新指定用户的密码: ```sql ALTER USER 'username'@'host' IDENTIFIED BY 'new_password'; ``` 其中 `'username'` 和 `'host'` 分别是你想要更改密码的那个特定用户的名称及其允许登录的主机地址(通常是 `%` 表示任何地方)。而 `'new_password'` 就是要设置的新密码。 3. 刷新权限以应用更改: ```sql FLUSH PRIVILEGES; ``` 4. 完成后退出 MySQL 控制台即可。 #### 方法二: 更新 `mysql.user` 表中的密码字段(适用于较早版本) 如果您的 MySQL 版本较低,则可以采用这种方式: 1. 同样的先登陆进入 MySQL 系统。 2. 进入 `mysql` 数据库: ```sql USE mysql; ``` 3. 对于老版本 MySQL (<8),可以直接编辑 `user` 表里的 `Password` 字段;对于新版本 (>8) ,则应操作 `authentication_string` 字段。 ```sql UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='username'; -- 针对 <8.x 版本 OR ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'new_password'; --针对 >=8.x 版本 ``` 4. 最后再刷新一下权限并重启服务确保生效: ```sql FLUSH PRIVILEGES; ``` #### 注意事项: - 强烈建议使用强密码策略来增强安全性。 - 如果忘记了管理员(root) 的密码,还可以通过跳过授权表启动 mysqld 来重置它,但这属于特殊情况处理,请谨慎操作以免破坏现有配置。 - 更改完密码之后一定要记得测试能否正常使用新密码成功登入 MySQL。 -- --相关问题--: 1. 忘记了root用户的初始密码怎么? 2. MySQL 支持哪些类型的认证插件? 3. 是否可以在创建用户的同时设定其密码的有效期?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

memory_cood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值