mysql alter user identified by_ALTER USER USER() IDENTIFIED BY 'password';

在本文中,我们将讨论在启动MySQL 8.0.12时遇到的警告和错误。首先,服务器警告了关于弃用'skip-symbolic-links'选项的信息,指出该选项将在未来版本中移除。接着,MySQL成功启动,但指出了证书为自签名的警告。最后,服务器提示必须先使用ALTER USER语句重置密码,才能执行某些操作。这是一篇关于数据库管理与安全性的技术文章。

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

[root@test mysql]# bin/mysqld

2018-08-04T14:09:33.831318Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.

2018-08-04T14:09:33.831523Z 0 [System] [MY-010116] [Server] /usr/local/mysql-8.0.12-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.12) starting as process 2134

2018-08-04T14:09:34.475674Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.

2018-08-04T14:09:34.497799Z 0 [System] [MY-010931] [Server] /usr/local/mysql-8.0.12-linux-glibc2.12-x86_64/bin/mysqld: ready for connections. Version: '8.0.12' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server - GPL.

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

### 关于 `ALTER USER USER() IDENTIFIED BY` 的使用说明 在 MySQL 数据库管理中,`ALTER USER USER() IDENTIFIED BY` 是一种用于更改当前用户的密码的语句。以下是其具体的语法结构以及一些常见的注意事项: #### 基本语法 ```sql ALTER USER USER() IDENTIFIED BY '新密码'; ``` 此命令的作用是修改调用该 SQL 语句的用户自身的密码[^1]。 - **USER()**: 这是一个内置函数,在执行时返回当前会话中的用户名和主机名组合。例如 `'root'@'localhost'`。 - **IDENTIFIED BY**: 后面跟的是新的密码字符串,表示要设置的新密码。 #### 权限需求 为了成功运行这条语句,用户需要具备一定的权限。通常情况下,只有具有管理员权限或者特定 ALTER USER 特权的账户才能执行此类操作[^2]。 如果尝试在一个不具备适当权限的情况下改变其他用户的密码,则可能会收到错误提示:“ERROR 1045 (28000): Access denied...”。 #### 安全考虑事项 当通过脚本或其他自动化工具来处理密码变更时,请务必注意安全性问题。明文存储或传输密码可能导致安全风险。建议采用加密方式传递敏感数据,并遵循最小化原则分配必要的访问控制权利给不同角色成员[^3]。 另外需要注意版本差异可能带来的影响;某些较旧版MySQL可能不支持直接针对匿名形式指定身份验证机制切换(如plugin字段配置),所以最好查阅对应官方文档确认兼容情况后再实施调整动作[^4]。 ```sql -- 修改当前登录用户的密码为例 ALTER USER USER() IDENTIFIED WITH mysql_native_password BY 'StrongNewPassword!'; ``` 上述例子展示了如何强制重新定义认证插件类型的同时更新关联密钥值对组合关系[^5]。 --- ### 常见问题解答 1. **Q:** 如果忘记 root 密码怎么办? **A:** 可以通过跳过授权表启动服务器的方法重置 Root 用户密码。具体步骤包括停止服务进程、添加 --skip-grant-tables 参数重启实例允许无限制进入环境内部再手动编辑相关记录完成恢复流程[^6]。 2. **Q:** 是否可以批量修改多个用户的密码? **A:** 虽然单条 ALTER USER 子句仅能作用单一目标实体对象上,但是可以通过编写循环逻辑配合动态SQL构建实现多账号同步维护目的[^7]。 3. **Q:** 新增加了一个数据库帐号之后发现无法正常登陆是什么原因引起的呢? **A:** 很有可能是因为未授予足够的资源使用权所致。除了创建之外还需要额外赋予 SELECT, INSERT 等基本功能许可才行[^8]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值