MySQL修改数据库密码

MySQL修改数据库密码

背景描述

远程(非服务器操作)修改服务器的数据库密码为强密码

操作环境

  • MySQL :8.0.26

具体步骤

  • ssh登录

    ssh root@192.168.100.148
    

    在这里插入图片描述

  • 登录数据库

    mysql -uroot -p
    

    在这里插入图片描述

  • 查看用户表

    select user, host from mysql.user;
    

    输入MySQL指令时别忘了最后的分号。

    在这里插入图片描述

    注意user对应的host,尽量不要%localhost混写,可能会导致错误。
    以下假设我们要修改root的密码。

  • 查看密码规则

    show variables like "validate_password%";
    

    在这里插入图片描述

    其中的validate_password.length限制了密码的最短长度,validate_password.policy限制了密码的强度(例如是否必须是字母数字和符号的混合)。若想改为弱密码(比如123456),一般需要修改这两个变量。

  • 修改密码

    alter user 'root'@'%' identified by '123456';
    

    在这里插入图片描述

异常处理

your password does not satisfy the current policy requirements
  • 错误现象

在这里插入图片描述

  • 错误原因

    密码的强度不符合现有的密码规则,一般在修改密码为弱密码时出现。

  • 解决方法

    # 允许弱密码
    set global validate_password.policy = 0;    
    # 密码最短长度为1
    set global validate_password.length = 1;    
    

    在这里插入图片描述

  • 重新设置

在这里插入图片描述

Operation ALTER USER failed for ‘root’@‘localhost’
  • 错误现象

在这里插入图片描述

  • 错误原因

    mysql.user表中没有这一条目,使用以下命令查看用户表

    select user, host from mysql.user;
    

    可以看到root对应的host%

  • 解决方法

    修改命令中的localhost%

    alter user 'root'@'%' identified by '123456';
    

    在这里插入图片描述

Unknown system variable …
  • 错误原因

    输入命令中的变量名称不正确,例如validate_password.policy很容易就错误写为validate_password_policy

  • 解决办法

    仔细检查是否存在变量名字输入错误,尤其是存在_.混用的变量名称。

其他

  • alter命令中的符号

    其他文章中有说alter命令报错可能是符号'引起的,建议改为以下指令。但本人未遇到该现象,持保留意见。

    # 可能出错的指令
    alter user 'root'@'%' identified by '123456';
    # 将'root'@'%'改为`root`@`%`
    alter user `root`@`%` identified by '123456';
    
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 如果您需要修改 MySQL 数据库密码,可以执行以下步骤: 1. 进入 MySQL 命令行: ``` mysql -u root -p ``` 2. 使用当前的 root 密码登录到 MySQL。 3. 使用以下语句来修改密码: ``` ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; ``` 请将 "newpassword" 替换为您想要的新密码。 4. 退出 MySQL 命令行: ``` quit; ``` 现在,您应该能够使用新的密码登录到 MySQL。 ### 回答2: 要修改MySQL数据库密码,可以按照以下步骤进行操作: 1. 首先,连接到MySQL数据库服务器。可以使用命令行终端或者使用MySQL的图形界面工具,如phpMyAdmin等。 2. 输入管理员账户名和密码来登录MySQL服务器。管理员账户名通常是"root"。 3. 登录成功后,选择要修改密码数据库。如果要修改所有数据库密码,可以选择MySQL系统数据库"mysql"。 4. 在选定的数据库中,通过以下命令来修改密码: ``` ALTER USER '用户名'@'访问主机' IDENTIFIED BY '新密码'; ``` 其中,'用户名'是要修改密码的用户名,'访问主机'是该用户可以访问的主机。如果要允许该用户从任何主机访问,可以将'访问主机'设置为"%”。'新密码'是要设置的新密码。 例如,要修改用户名为"example"的用户在所有主机上的密码为"newpassword",可以输入以下命令: ``` ALTER USER 'example'@'%' IDENTIFIED BY 'newpassword'; ``` 5. 修改密码后,记得刷新MySQL的权限表,以便新密码生效。可以使用以下命令来刷新权限: ``` FLUSH PRIVILEGES; ``` 6. 最后,退出MySQL服务器。 这样,就成功地修改MySQL数据库密码。 ### 回答3: 要修改MySQL数据库密码,可以按照以下步骤进行操作: 1. 登录MySQL数据库,可以使用命令`mysql -u 用户名 -p`来登录,用户名替换为你的数据库用户名。然后输入密码进行登录。 2. 登录成功后,使用以下命令选择要修改密码数据库:`use 数据库名;`,数据库名替换为你的数据库名。 3. 使用以下命令查看当前用户的权限和密码:`select user,host,plugin,authentication_string from mysql.user where user = '用户名';`,用户名替换为你的数据库用户名。记住当前用户的`authentication_string`字段的值,这是当前用户的密码。 4. 使用以下命令来修改密码:`ALTER USER '用户名'@'localhost' IDENTIFIED BY '新密码';`,用户名替换为你的数据库用户名,新密码替换为你想要设置的新密码。 5. 修改完成后,使用以下命令刷新权限:`flush privileges;`。 6. 最后,使用以下命令退出数据库:`exit;`。 现在你已经成功修改MySQL数据库密码。记得将以上步骤中的`用户名`和`数据库名`替换为实际的值,并根据需要修改相应的参数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值