MySQL 创建用户

MySQL 用户是 MySQL 服务器的USER表中的一条记录,包含 MySQL 帐户的登录信息、帐户权限和主机信息。必须在 MySQL 中创建一个用户来访问和管理数据库。

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

如果要使用 Create User,则需要具有Create User 语句的全局权限或 MySQL 系统架构的INSERT权限。当您创建一个已经存在的用户时,它会提示一个错误。但是,如果您使用IF NOT EXISTS子句,则该语句会为每个已存在的命名用户发出警告,而不是错误消息。

一、为什么MySQL服务器需要用户

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

1、创建用户的语法

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

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

在上面的语法中,account_name有两部分,一是用户名,二是主机名,以@符号分隔。这里,用户名是用户名,主机名是用户可以连接到数据库服务器的主机名。

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 PRIVILEGES;  

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

mysql> SHOW GRANTS for username;  

 

热门文章

优秀文章