MySQL 创建用户

2024年03月26日 MySQL 创建用户 极客笔记

MySQL 创建用户

MySQL用户是MySQL服务器中 USER 表中包含登录信息、帐户权限和主机信息的记录。在MySQL中创建用户是访问和管理数据库的关键步骤。

MySQL创建用户语句允许我们在数据库服务器中创建一个新的用户帐户。它为新帐户提供了身份验证、SSL/TLS、资源限制、角色和密码管理属性。它还使我们能够控制初始锁定或未锁定的帐户。

如果你想要使用创建用户,需要具有 全局 的创建用户权限或MySQL系统模式中的 INSERT 权限。当创建一个已存在的用户时,会出现错误。但是,如果使用 IF NOT EXISTS 子句,该语句将对每个已存在的命名用户发出警告而不是错误消息。

MySQL服务器为何需要用户?

当MySQL服务器安装完成后,只有一个 ROOT 用户帐户可以访问和管理数据库。但是,有时您希望授予其他人访问数据库的权限,而不给予他们完全控制。在这种情况下,您将创建一个非ROOT用户并授予他们访问和修改数据库的特定权限。

语法

以下是在数据库服务器中创建用户的语法。

CREATE USER [IF NOT EXISTS] account_name IDENTIFIED BY 'password';

在上面的语法中, account_name 有两个部分,一个是 username ,另一个是 hostname ,它们由 @ 符号分隔开。在这里,username是用户的名称,hostname是用户可以与数据库服务器连接的主机名。

username@hostname

主机名是可选的。如果您没有提供主机名,用户可以从服务器上的任何主机连接。没有主机名的用户账户名称可以写成:

username@%

注意:创建用户将创建一个具有完全访问权限的新用户。因此,如果您想给用户赋予权限,使用GRANT语句是必需的。

MySQL创建用户示例

以下是在MySQL服务器数据库中创建新用户所需的步骤。

步骤1: 使用 mysql客户端工具 打开MySQL服务器。

步骤2: 输入账户的密码并按Enter键。

Enter Password: ********

步骤3: 执行以下命令以显示当前MySQL服务器中的所有用户。

mysql> select user from mysql.user;

我们将得到以下输出:

步骤4: 使用以下命令创建一个新用户。

mysql> create user peter@localhost identified by 'jtp12345';

现在,运行命令再次显示所有用户。

在上述输出中,我们可以看到用户peter已成功创建。

步骤5: 现在,我们将在CREATE USER语句中使用IF NOT EXISTS子句。

mysql> CREATE USER IF NOT EXISTS adam@localhost IDENTIFIED BY 'jtp123456';

授予MySQL新用户权限

MySQL服务器为新用户账户提供多种类型的权限。下面是一些常用的权限:

  1. ALL PRIVILEGES: 允许新用户账户拥有所有权限。
  2. CREATE: 允许用户账户创建数据库和表。
  3. DROP: 允许用户账户删除数据库和表。
  4. DELETE: 允许用户账户从特定表中删除行。
  5. INSERT: 允许用户账户向特定的表中插入行。
  6. SELECT: 允许用户账户读取数据库。
  7. UPDATE: 允许用户账户更新表中的行。

如果您想给新创建的用户赋予所有权限,请执行以下命令。

mysql> GRANT ALL PRIVILEGES ON * . * TO peter@localhost;

如果您想为新创建的用户赋予特定的权限,请执行以下命令。

mysql> GRANT CREATE, SELECT, INSERT ON * . * TO peter@localhost;

有时候,你希望立即刷新用户账户的所有权限,以使更改立即生效,请输入以下命令。 flush

FLUSH PRIVILEGES;

如果你想查看用户的现有权限,请执行以下命令。

mysql> SHOW GRANTS for username;

本文链接:http://so.lmcjl.com/news/448/

展开阅读全文