名下不同权限MySQL:设置不同用户具有不同权限(mysql同一用户)
在MySQL中,用户可以拥有不同的权限,这取决于它拥有的访问权限级别。有三个基本的MySQL用户权限:
1.用户的拥有者权限:允许在指定的数据库上创建用户,修改用户和删除用户。
2.数据库管理权限:允许创建数据库,删除数据库,创建视图,以及对MySQL表进行管理。
3.数据操作权限:允许将数据添加,更新和删除,以及查询数据。
为了在MySQL中设置不同用户具有不同的权限,我们需要创建一个新的MySQL用户,然后给它分配不同的权限等级。第一步是通过MySQL的命令行客户端登录到数据库服务器:
mysql -u root -p
这将用您的root用户凭据询问您的MySQL服务器,以登录。
一旦登录,我们可以创建一个新用户,其权限等级由我们决定:
CREATE USER ‘username’@’hostname’ IDENTIFIED BY ‘password’;
这条命令在指定的MySQL host名称下创建一个名为username的新用户,指定密码为password。
在这种情况下,我们需要给用户分配不同的权限,因此我们可以向MySQL提交以下请求:
GRANT ALL PRIVILEGES ON database_name.*
TO ‘username’@’hostname’
WITH GRANT OPTION;
这个命令给刚刚创建的用户授予了拥有数据库所有权限的访问权限,可以访问所有的数据库表。
如果我们想为该用户设置更有限的权限,可以使用以下命令:
GRANT SELECT, INSERT, UPDATE, DELETE
ON database_name.*
TO ‘username’@’hostname’;
这会授予用户select,insert,update和delete权限,但是不允许其创建表。
可以通过以下命令撤销用户的权限:
REVOKE ALL PRIVILEGES ON database_name.*
FROM ‘username’@’hostname’;
最后,我们可以查看当前用户的权限,使用以下命令:
SHOW GRANTS FOR ‘username’@’hostname’;
通过以上步骤,我们可以设置不同权限的MySQL用户,使用户能够访问数据库但没有其他访问权限。