MySQL 创建用户
MySQL用户是MySQL服务器
USER 表中的一条记录,其中包含登录信息,帐户特权和MySQL帐户的主机信息。在MySQL中创建一个用于访问和管理数据库的用户至关重要。
MySQL Create User语句使我们能够在数据库服务器中创建新的用户帐户。它为新帐户提供身份验证,SSL/TLS,资源限制,角色和密码管理属性。它还使我们能够控制最初应该锁定或解锁的帐户。
如果要使用"创建用户",则必须具有"创建用户"的
global 特权。语句或MySQL系统架构的
INSERT 特权。当您创建一个已经存在的用户时,会出现错误。但是,如果使用
IF NOT EXISTS 子句,则该语句会为每个已存在的命名用户提供警告,而不是错误消息。
为什么在MySQL服务器中需要创建用户?
MySQL服务器安装完成后,它具有一个
ROOT 用户帐户,仅用于访问和管理数据库。但是,有时候,您希望授予数据库访问权给其他人,而不授予他们完全控制权。在这种情况下,您将创建一个非root用户并授予他们特定的访问和修改数据库的特权。
语法
以下语法用于在数据库服务器中创建用户。
CREATE USER [if NOT EXISTS] account_name IDENTIFIED BY 'password';
在上面的语法中,
帐户名有两部分,一个是
用户名,另一个是
主机名,由
@ 符号。在这里,用户名是用户名,主机名是用户可以从中连接数据库服务器的主机名。
主机名是可选的。如果未提供主机名,则用户可以从服务器上的任何主机进行连接。不带主机名的用户帐户名可以写为:
注意: "创建用户"创建具有完全访问权限的新用户。因此,如果要向用户授予特权,则需要使用GRANT语句。
MySQL创建用户示例
以下是在MySQL服务器数据库中创建新用户所需的步骤。
步骤1: 使用
mysql客户端工具打开MySQL服务器。
步骤2: 输入密码帐户,然后按Enter。
步骤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服务器为新用户帐户提供多种类型的权限。以下是一些最常用的特权:
ALL PRIVILEGES: 它允许新用户帐户拥有所有特权。
CREATE: 它使用户帐户可以创建数据库和表。
DROP: 它使用户帐户能够删除数据库和表。
DELETE: 它使用户帐户可以从特定表中删除行。
INSERT: 它使用户帐户可以将行插入到特定表中。
SELECT: 它使用户帐户能够读取数据库。
UPDATE: 它使用户帐户能够更新表行。
如果要将所有特权授予新创建的用户,请执行以下命令。
mysql> GRANT ALL PRIVILEGES ON * . * TO peter@localhost;
如果要为新创建的用户赋予特定特权,请执行以下命令。
mysql> GRANT CREATE, SELECT, INSERT ON * . * TO peter@localhost;
有时,您要
刷新用户帐户的所有特权以立即进行更改,请键入以下命令。
如果要查看用户的现有特权,请执行以下命令。
mysql> SHOW GRANTS for username;