MySQL是一个关系数据库管理系统,用于以表和记录的形式存储数据。您可以使用 SQL 语句或编程语言插入、修改或检索数据。它允许我们创建新用户并授予对数据库表的权限。最好的做法是始终对所有数据库使用单独的用户。这将确保应用程序无法访问其他应用程序的数据库。
本教程的目的是在MySQL服务器中创建一个新用户并授予数据库权限。本教程包括创建用户以及授予对特定数据库的所有表或所有数据库的所有表的权限的说明。
在我们开始之前
您必须拥有一个正在运行且具有管理权限帐户访问权限的 MySQL 服务器。使用超级用户或 root 帐户访问权限登录 MySQL 服务器。这将允许您创建新用户并授予数据库权限。
首先,连接到MySQL服务器以执行进一步的指令。
1.在MySQL中创建一个新用户
使用具有 shell 访问权限的 root 用户登录 MySQL 服务器,并创建一个名为“rahul”的新用户。以下语句仅允许用户 rahul 从本地主机访问 MySQL 服务器。
CREATE USER 'rahul'@'localhost' IDENTIFIED BY 'password';
现在将权限分配给特定数据库。以下命令将允许用户 rahul 对数据库“mydb”的所有权限。
GRANT ALL ON mydb.* TO 'rahul'@'localhost';
要授予所有数据库的所有权限,请使用以下查询:
GRANT ALL ON *.* TO 'rahul'@'localhost';
创建或进行任何更改后,请确保使用以下 SQL 查询重新加载权限。
FLUSH PRIVILEGES;
2.创建具有远程访问权限的MySQL用户
允许任何用户从远程系统连接到 MySQL 服务器。您需要指定远程系统的主机名或IP地址。您还可以使用“%”作为通配符。
- 例如,创建一个只能从特定IP访问的MySQL用户(例如:192.168.1.10)
CREATE USER 'rahul'@'192.168.1.10' IDENTIFIED BY 'password';
- 为某个网络范围创建 MySQL 用户(例如:192.168.1.0/24)
CREATE USER 'rahul'@'192.168.1.0/24' IDENTIFIED BY 'password';
- 您还可以创建可从任何主机访问的 MySQL 用户帐户。在这种情况下,请使用“%”作为通配符。
CREATE USER 'rahul'@'%' IDENTIFIED BY 'password';
3. 给特定用户授予权限
请在下面找到 MySQL 用户中常用权限的列表。访问here获取 MySQL 用户权限的完整列表。
-
所有[特权] –授予用户所有权限。
-
CREATE –授予用户创建新数据库和表的权限。
-
DROP –授予用户删除(删除)数据库和表的权限。
-
DELETE –授予用户从表中删除行的权限。
-
ALTER –授予用户修改表结构的权限。
-
INSERT –授予用户向表中插入(添加)行。
-
SELECT –授予用户运行 select 命令以从表中读取数据。
-
UPDATE –授予用户更新表中数据的权限。
-
执行 -授予用户执行存储例程的权限。
-
FILE –授予用户访问服务器主机上的文件的权限。
-
授予选择权 –授予用户授予或删除其他用户的权限。
在这里,您可以指定用逗号分隔的权限来代替 ALL。例如,允许对数据库 mydb 上的“rahul”@“localhost”进行 CREATE、DELETE、INSERT 和 UPDATE 访问。
GRANT CREATE,DELETE,INSERT,UPDATE ON mydb.* TO 'rahul'@'localhost';
FLUSH PRIVILEGES;
4. 撤销MySQL中的用户权限
使用 REVOKE 语句删除用户的任何特定权限。例如,删除 mydb 数据库上用户“rahul”@“localhost”的 DELETE 权限。
- 要从数据库中删除特定权限,请使用如下查询:
REVOKE DELETE ON mydb.* TO 'rahul'@'localhost';
- 要删除用户对数据库的所有权限,请使用如下查询:
REVOKE ALL ON mydb.* TO 'rahul'@'localhost';
- 您甚至可以撤销特定用户对所有数据库的权限。
REVOKE ALL ON *.* TO 'rahul'@'localhost';
撤销权限后,必须运行同花顺特权;查询以应用更改。
5. 在MySQL中删除用户
使用 MySQL DROP 语句从服务器中删除现有用户。例如,要删除用户“rahul”@“localhost”,请执行以下查询:
DROP USER 'rahul'@'localhost';
FLUSH PRIVILEGES;
结论
在本教程中,您学习了创建新用户并向 MySQL 服务器授予权限。还提供了更改或撤销任何 MySQL 用户权限的说明。