如何在MySQL和MariaDB中创建新用户并设置、授予用户权限?

MySQL提供了从shell创建和管理用户的能力。安全性是数据库服务器的重要组成部分。在本教程中,我们将研究如何在MySQL数据库服务器中创建用户和管理权限。我们将专门学习如何限制用户访问数据库、数据库服务器、授予不同类型的特权、打印这些特权。

null

登录MySQL Shell

为了创建一个用户并管理该用户的权限,我们将登录MySQL shell。MySQL shell提供了访问数据库、运行SQL查询、创建用户、删除用户、管理用户权限等管理操作的能力。我们将使用 mysql 用户名为 root 在这种情况下。我们将提供 root 还有用户密码。

$ sudo mysql -u root -p
Login To MySQL Shell
登录MySQL Shell

创建新数据库用户

我们将使用 CREATE USER 通过提供用户名、主机名和密码。主机名用于设置用户是否可以从给定主机进行连接。在本例中,我们指定 localhost 也就是说给定的用户 ismail 只能从localhost连接到此数据库服务器。我们还提供密码作为 SoS3cret..!

> CREATE USER 'ismail'@'localhost' IDENTIFIED BY 'SoS3cret..!';
Create New User
创建新用户

成功创建后 Query OK, 0 rows affected (0.01 sec) 已打印。

删除现有数据库用户

如果我们不需要给定的数据库用户,我们就必须删除用户,因为这可能会造成安全问题和意外的数据库访问。我们可以用DROP用户删除现有的数据库用户 通过提供用户名和访问主机名。在本例中,我们将删除用户 ismail 具有 localhost 进入。

> DROP USER [email protected];
Remove Existing Database User
删除现有数据库用户

列出现有数据库用户

在创建一个数据库用户之后,我们可能希望检查并列出MySQL数据库中的现有用户。在本例中,我们将使用SQL语句列出 mysql 数据库 user 桌子。 user 中的表 mysql 数据库保存数据库服务器用户和相关信息,如密码等,我们将使用 SELECT User 声明。

> SELECT User FROM mysql.user;
List Existing Database Users
列出现有数据库用户

创建用于访问特定数据库的新用户

我们可以指定用户只能访问指定的数据库。这将阻止用户访问其他数据库。我们将使用“授予所有特权” 在本例中,通过提供数据库名、用户名和主机名。在下面的示例中,我们将授予数据库的所有特权 poftut 对用户 ismail .

> GRANT ALL PRIVILEGES ON poftut . * TO 'ismail'@'localhost';
Create New User with To Access Specific Database
创建用于访问特定数据库的新用户

将更改写入数据库

更改可能存储在缓存中,但不会立即生效。我们可以使用以下命令将这些更改显式地写入数据库服务器。

> FLUSH PRIVILEGES;
Write Changes To Database
将更改写入数据库

创建具有访问位置的新用户

我们还可以为给定的用户和数据库指定访问位置。到目前为止,我们已经使用了localhost,这是一种只有本地用户才能访问的安全方式。我们还可以为特定的网络或主机提供访问权限。在本例中,我们将提供来自IP地址的访问 192.168.1.10 .

> GRANT ALL PRIVILEGES ON poftut . * TO 'ismail'@'192.168.1.10';

显示并列出给定的用户权限

我们可能要列出为给定用户授予的特权。我们将使用表演补助金 此操作的命令。在本例中,我们将列出为用户授予的特权 ismail 访问 localhost .

> SHOW GRANTS FOR [email protected];
Show and List Given User Privileges
显示并列出给定的用户权限

相关文章: 如何列出MySQL数据库用户?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享