VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > MySQL >
  • MYSQL 8.0之分配账户密码

分配账户密码

官方密码

MySQL将凭据存储在mysql系统数据库的user表中。分配或修改密码的操作仅允许具有CREATE USER特权或mysql数据库特权(创建新帐户的INSERT特权,修改现有帐户的UPDATE特权)的用户使用。如果启用了read_only系统变量,则使用帐户修改语句(例如CREATE USERALTER USER)还需要CONNECTION_ADMIN特权(或不建议使用的SUPER特权)。

此处的讨论仅汇总了最常见的密码分配语句的语法。

创建用户

要在创建新帐户时分配密码,请使用CREATE USER并包含IDENTIFIED BY子句:

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
  • 1

CREATE USER还支持用于指定帐户身份验证插件的语法。具体参看官方文档。

修改密码

要为现有帐户分配或更改密码,请使用带有IDENTIFIED BY子句的ALTER USER语句:

ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
  • 1

如果不是以匿名用户身份连接的,则可以更改自己的密码,而无需直接指定自己的帐户:

ALTER USER USER() IDENTIFIED BY 'password';
  • 1

要从命令行更改帐户密码,请使用mysqladmin命令:

mysqladmin -u user_name -h host_name password "password"
  • 1

此命令设置密码的帐户是mysql.user系统表中带有一行的帐户,该行与user字段中的user_name和host列中连接的客户端主机相匹配。

警告使用mysqladmin设置密码应该被认为是不安全的。在某些系统上,密码对系统状态程序(例如ps命令)可见,其他用户可能会调用该密码来显示命令行。MySQL客户端通常在初始化序列期间用零覆盖命令行密码参数。但是,仍然有一个短暂的时间间隔,在该时间间隔内该值是可见的。同样,在某些系统上,此覆盖策略无效,并且ps仍然可以看到密码。(SystemV Unix系统以及其他系统可能会遇到此问题。)


相关教程