mysql修改密码

方式1:用SET PASSWORD命令
set password for 'root'@‘localhost’ = password("new pass")
方式2:用mysqladmin
mysqladmin -uroot -p旧密码 password 新密码
方式3:用UPDATE直接编辑user表
mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost'; 
mysql> flush privileges; 
忘记密码时的操作
  1. 关闭正在运行的MySQL服务。
  2. 打开DOS窗口,转到mysql\bin目录。
  3. 输入mysqld --skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
  4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
  5. 输入mysql回车,如果成功,将出现MySQL提示符 >
  6. 连接权限数据库: use mysql;
  7. 改密码:update user set password=password(“新密码”) where user=“root”;

注:如果遇到错误
在这里插入图片描述
可能的错误及解决方案:
a.可能你的数据库版本较高,user表字段中没有password,则执行
update user set authentication_string=password(‘root’) where user=‘root’;
b.
如果还是报这种错误,则使用set password for ‘root’@‘localhost’=password(“root”);
bb.
如果报错:
The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement
bbb.
设置为只读set global read_only=1; FLUSH PRIVILEGES;
然后执行
set password for ‘root’@‘localhost’=password(“root”); FLUSH PRIVILEGES; 就可以了
在这里插入图片描述

  1. 刷新权限(必须步骤):flush privileges;
  2. 退出 quit。
  3. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

mysql 初始密码:
grep “root@localhost” /var/log/mysqld.log

### 如何更改 MySQL 数据库管理员或用户密码 对于 Windows 系统下修改 MySQLroot 密码,存在几种不同的方式来实现这一目标。如果忘记了当前的 root 密码或者想要更新它,则可以采用以下提到的方法之一。 #### 方法一:使用 SET PASSWORD 命令 当已经知道现有密码并能够正常访问 MySQL 服务时,可以通过执行 SQL 查询的方式来改变用户的密码: ```sql SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码'); FLUSH PRIVILEGES; ``` 这条语句会为指定账户设置新的认证凭证[^1]。 #### 方法二:通过命令行工具重置密码 如果无法登录到 MySQL 中(比如因为丢失了 root 密码),那么就需要停止 MySQL 服务,并启动一个跳过权限表验证的服务实例,在这种状态下可以直接进入数据库而不需要提供任何凭据。之后就可以像平常一样连接至 MySQL 并运行 `ALTER USER` 或者其他类似的指令来进行密码变更: ```bash net stop mysql # 关闭 MySQL 服务 mysqld --skip-grant-tables & mysql -u root # 不需要输入密码即可登录 ``` 接着在 MySQL 提示符下执行下面的 SQL 来修改密码: ```sql USE mysql; UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; quit ``` 最后重启 MySQL 服务使更改生效。 #### 方法三:利用 ALTER USER 语法 自 MySQL 5.7 版本以后推荐的方式是使用 `ALTER USER` 语句来安全地管理和调整用户账号属性,包括其身份验证信息: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES; ``` 这种方法不仅适用于 root 账号,也可以用来处理普通用户的密码重置需求[^2]。 为了确保安全性,在完成上述任一步骤后应当立即重新加载授权表(`FLUSH PRIVILEGES`)以便让最新的配置即时应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值