1.概述
在本教程中,我们将展示如何在MySQL中创建一个新用户并授予其权限。
本文在MySQL 5和MySQL 8上都进行了测试。
2.在MySQL中创建一个新的用户
要用SQL在MySQL中创建一个新用户,你需要登录到MySQL的外壳。要用现有的用户和密码登录MySQL,请使用:
mysql -u [username] -p
如果你是第一次在Ubuntu上登录:
sudo mysql -u root -p
并使用你的根密码
2.1 创建新用户
在MySQL中创建用户的命令希望有3个参数:
- 'some_user' - 用户名称
- localhost'--数据库主机名。大多数情况下,它将是localhost- 这意味着本地机器。在某些情况下,可以使用MySQL服务器的IP。
- 'some_pass' - 密码
CREATE USER 'some_user'@'localhost' IDENTIFIED BY 'some_pass';
下一步是给这个用户授予权限,以便记录、查看、更新或删除数据。
2.2 删除用户
MySQL中的用户可以通过DROP 命令删除。你需要提供用户名和主机:
DROP USER 'some_user'@'localhost';
3.在MySQL中授予用户权限
新用户在MySQL中做任何事情之前都需要权限。如果我们想给DB中的每张表以所有权限--我们可以使用:
GRANT ALL PRIVILEGES ON * . * TO 'some_user'@'localhost';
其中:
ALL PRIVILEGES- 授予所有可能的权限* . *- 表示所有数据库和所有表'some_user'@'localhost'- 用户和主机
之后,我们需要通过以下方式激活权限:
FLUSH PRIVILEGES;
4.授予用户每个表和特权的权限
如果我们想只给一组表/数据库授予少数权限,我们可以使用:
GRANT SELECT ON db_name.table_name TO 'some_user'@'localhost';
所有权限的列表如下:
- CREATE
- DROP
- DELETE
- INSERT
- 选择
- 更新
- 授予选项
- 所有权限
所有这些都对应于基本的SQL或DB操作
5.撤销用户权限
要撤销MySQL中用户的权限,我们可以使用 -REVOKE 命令。同样,我们需要提供用户和主机、权限、表和数据库:
REVOKE SELECT ON db_name.table_name FROM 'some_user'@'localhost';
6.显示用户权限
最后要检查一个给定用户的权限,我们可以使用 -SHOW GRANTS 并指定用户和主机:
SHOW GRANTS FOR 'some_user'@'localhost';
7.总结
在这篇文章中,我们看到了如何创建一个新的用户并授予其权限。我们涵盖了不同的权限,如何为每个用户或表授予它们。
最后,我们看到如何在MySQL中删除用户或撤销权限。